第一步:我在visual studio 2003中通过C#编写了一个文件Factorial.cs,并保存到d:\test\下面:
001: using System;
002:
003: namespace Functions
004: {
005: public class Factorial
006: {
007: public static int Calc(int i)
008: {
009: return((i <= 1) ? 1 : (i * Calc(i-1)));
010: }
011: }
012: }
第二步:打开 Visual Studio.NET命令提示工具,并进入到d:\test\的目录下:
第三步:我通过 csc /target:library /out:Functions.dll Factorial.cs命令生成了一个DLL文件。
第四步:我通过 RegAsm Functions.dll /tlb 命令生成了一个文件Functions.tlb。
第五步:打开VB6.0,新建一个工程,然后添加引用 Functions(即刚才的Functions.tlb)文件。现在在VB中可以看到类Factorial,但是无论如何也无法调用它的方法Calc,请问高手这是怎么回事?
以上所有的过程都是在我本机上运行,我的机器上安装的是visual studio 2003,操作系统win2000sp4。
001: using System;
002:
003: namespace Functions
004: {
005: public class Factorial
006: {
007: public static int Calc(int i)
008: {
009: return((i <= 1) ? 1 : (i * Calc(i-1)));
010: }
011: }
012: }
第二步:打开 Visual Studio.NET命令提示工具,并进入到d:\test\的目录下:
第三步:我通过 csc /target:library /out:Functions.dll Factorial.cs命令生成了一个DLL文件。
第四步:我通过 RegAsm Functions.dll /tlb 命令生成了一个文件Functions.tlb。
第五步:打开VB6.0,新建一个工程,然后添加引用 Functions(即刚才的Functions.tlb)文件。现在在VB中可以看到类Factorial,但是无论如何也无法调用它的方法Calc,请问高手这是怎么回事?
以上所有的过程都是在我本机上运行,我的机器上安装的是visual studio 2003,操作系统win2000sp4。
解决方案 »
- 怎样清空ArrayList
- !!继承自SoapHttpClientProtocol的类报错!!
- RichTextBox的输入字体
- 如何调用迅雷下载网上一个文件,下载到指定目录,指定新文件名?
- 一个关于Jmail的问题?
- C#里如何调用dll里的extern "C" _declspec(dllexport) void MyStr(char* strTest)函数?
- ActiveReport如何设置横向打印?
- 关于短消息的编码和解码
- 如何用正则表达式剥离网页HTML代码?顶者有分
- 关于winform的滚动条的位置
- 急等(webform)datagrid如何使用模版列?
- 请教关于.NET的DLL转成COM组件的办法
http://www.codeproject.com/csharp/com_object_in_c_.asp
1、在要调用的类上应用 GuidAttribute。
2、在项目属性->配置属性->生成->输出 中将“为 COM Interop 注册”设置为true。