我这里有个老外写的关于vb编写 'Standard DLL'的解决方案要的话密我

解决方案 »

  1.   

    zq972(偶宣布,偶已经不是路盲啦~~~~~~) 
    兄弟我密了。。还有lgs666(冰块) 兄弟,active.dll能输出函数吗?他与标准dll有什么区别呢?
    具体怎么操作?小弟新手,太菜了。希望您谅解。。
      

  2.   

    C#应该可以调用ACTIVE.DLL的,在VB中新建ACTIVEX DLL工程,新建一个类,更改类名称,把代码复制进去,然后编译。
    在C#中:菜单:项目\添加引用,COM选项卡,选择刚才用VB编译的工程。就可以直接声明使用了。
      

  3.   

    用vb创建可输出函数的dll,简单的可以,例如+-操作,字符串、整型的数据类型等,其他涉及到例如自定义的数据类型,我还没有成功过。
      

  4.   

    谢谢lgs666(冰块) 兄弟点拨 我现在编译的这个DLL在vb中和delphi中都可以成功输出函数,是不是说我的标准dll是没有问题的呢?可为什么在C#中引用时老实出错,我怀疑是数据类型的声明问题。
    另外,active.dll的话除了要注册外,里边的函数能被c#调用吗〉?
    非常感谢。。
      

  5.   

    zq972(偶宣布,偶已经不是路盲啦~~~~~~)
    磕头了。。[email protected]
      

  6.   

    我现在编译的这个DLL在vb中和delphi中都可以成功输出函数,是不是说我的标准dll是没有问题的呢?可为什么在C#中引用时老实出错,我怀疑是数据类型的声明问题。
    ---------------------------
    我遇到的问题是,可以成功创建和编译输出函数,却无法正常使用。另外,active.dll的话除了要注册外,里边的函数能被c#调用吗〉?
    非常感谢。。
    ---------------------------------------------------
    注册并在C#中引用,就可以正常使用了。
      

  7.   

    zq972(偶宣布,偶已经不是路盲啦~~~~~~) 
    已经收到您的邮件。非常感谢,不过我在问题中所述的已经写成标准DLL就是用了您这种方法
    ,在vb自己引用时可以调出函数,可在C#中就不行。。
    lgs666(冰块)兄弟,您的意思是注册后的active dll 中的函数能够被C# 所用对吗?那为什么有些人所VB是开发不出输出函数的dll呢?
      

  8.   

    你的dll编译完后考到系统目录下没有(c:\windows\system32)
    例如user32.dll的调用方法:
    [DllImport("User32.dll")]
    private static extern bool ShowWindowAsync(
    IntPtr hWnd, int cmdShow);
      

  9.   

    zq972(偶宣布,偶已经不是路盲啦~~~~~~) 兄弟是在system32下面了。如果不放在SYSTEM32或c# exe文件同目录的话会报找不到DLL错误,如果函数名故意写错的话C#会先报找不到入口点的错误,这说明了2个问题
    1、c#已经找到正确的DLL  
    2、c#已经找到DLL中的函数了。报的错误是“尝试读取或写入受保护的内存。这通常指示其他内存已损坏”
    我想应该是变量的问题
      

  10.   

    VB建立AcitveDll工程然后写你的功能类最后编译目标系统注册 Regsvr32 你的dll.NET添加引用->COM就能找到你用VB写的那个DLL
      

  11.   

    "我现在编译的这个DLL在vb中和delphi中都可以成功输出函数",难道变量会有问题?也许是.net对于某些操作存在限制。
      

  12.   

    VB建立AcitveDll工程然后写你的功能类最后编译目标系统注册 Regsvr32 你的dll.NET添加引用->COM就能找到你用VB写的那个DLL不要搞什么vb建标准dll
      

  13.   

    c#的代码是托管的呀,你只有用非托管的代码才能调用的.
    md5实现代码到处都是,c#版的也应该有吧,到百度搜一搜