Hi,请问 C# 发布的 DLL 里面,带有 delegate 方法,在 VB 6 调用这个 DLL 时如何使用这个 delegate 功能?现在已经用 2012 的 C#.Net 编写发布一个给 VB6 可以调用的 DLL 了,但是,现在如果在 C#.Net 里面的方法里面使用 delegate, 如下:
public delegate void DoSomething(String test);public void Test(DoSomething something) {
....
}请问,在 VB6 里面,可以正常调用 Test 方法吗?在 VB6 里面应该如何定义才能实现 DoSomething 这个方法处理???请指点一下,谢谢。

解决方案 »

  1.   

    新建一个标准模块,编写
    Public Sub Mycallback(ByVal s As String)
        ...
    End Sub
    调用
    Call Test(AddressOf Mycallback)
      

  2.   


    谢谢。现在发现 Visual Basic 6.0 的开发工具怎么做得这么差,好多东西不会用。
    请帮下忙看下以下问题如何用:1) 在 VB6 的代码编辑器里面,写了多行代码,其中一行显示红色,但是我没办法知道 "红色" 的原因是什么?在哪里面看这个出错原因??跟现在 Visual Studio 2012 使用差太远了。2) 在 VB6 里面好像没有 Compile All 这样一个编绎全部代码的按码,也没有编绎输出的 Console 控制台窗口。请帮下忙。
      

  3.   

    (1)把红色的行,以及弹出的错误框贴出来。
    (2)Ctrl+F5
      

  4.   

    或者是文件-Make EXE。还是在运行-全部编译的,我记不得了。没有编绎输出的 Console 控制台窗口
    是这样的,事实上VB压根就木有编译器,用的是VC++的后端编译器,VB的编译器只负责语法检查到抽象语法树(中间代码)生成就完了。