创建了一个类项目,名为TEST,
在TEST项目中增加了一个RYDA.cs,代码如下:
using System.Data.SqlClient;
using System.Data;
using System.Xml;namespace XNH_InterFace
{
    public class RYDA
    {
        public static string GRXX(string XML)
        {
                XmlDocument xmldoc = new XmlDocument();
                xmldoc.LoadXml(XML);
                XmlNode x = xmldoc.SelectSingleNode("//GRXX");
                string STR_BH = (x.SelectSingleNode("BH")).InnerText;
                string STR_XM = (x.SelectSingleNode("XM")).InnerText;
                string STR_XB = (x.SelectSingleNode("XB")).InnerText;
                string STR_XMLInfo= STR_BH +"|"+STR_XM +"|"+STR_XB;
 
                return STR_XMLInfo;     
        }    }
}
-------------------------------------------------------
然后我编译成TEST.DLL文件接着如何才能在PB中调用呢?希望能给详细的代码,感谢!

解决方案 »

  1.   

    需要用regasm命令把动态库 再编译一下 
      

  2.   

    http://topic.csdn.net/u/20100320/12/e48da9ce-7ef0-41a6-a47c-8a4610dfa811.html
      

  3.   

    PB调用COM型的DLL
    参考1
    http://www.cnblogs.com/gxlinhai/archive/2007/12/19/1006067.html
    2
    http://topic.csdn.net/t/20051213/15/4456730.html
    3
    http://topic.csdn.net/t/20021104/19/1148027.html
      

  4.   

    想问下,我直接生成的DLL不能给PB或其他非.NET程序调用是么?就算调用的计算机上装有.NET框架都不行,是不是?
      

  5.   

    C#写的DLL是托管DLL,据我所知的呃托管DLL是无法导出函数的.
    C#编写的库和其它非托管程序交互的一般方法是:
    1.程序集必须是强签名的;
    2.程序集已安装到系统的GAC;
    3.要调用的类是public的且标记为Comvisible
    4.程序集已经用regasm之类的工具注册 仔细看下
    http://topic.csdn.net/u/20100320/12/e48da9ce-7ef0-41a6-a47c-8a4610dfa811.html
      

  6.   

    第一次写跨语言的DLL,很多地方不太明白,见谅啊。
    我在网上找了些资料,说用Regasm.exe注册一下DLL文件,就可以让其他非.NET程序用COM方式进行调用了?是这样么?这里说的DLL文件,是不是就是用 C#常规生成的DLL文件?
    注册方法如下:
    http://msdn.microsoft.com/zh-cn/library/tzat5yw6(VS.80).aspx
      

  7.   


    1.程序集必须是强签名的;
    2.程序集已安装到系统的GAC;
    这2条是什么意思?如何实现的?3.要调用的类是public的且标记为Comvisible
    我一楼给的类代码是不是符合public?Comvisible这个是不是只要在AssemblyInfo.cs里把
    [assembly: ComVisible(true)]这样就可以?其他地方无需修改?
      

  8.   

    http://topic.csdn.net/u/20081106/13/8a7534c3-718a-4532-b855-a2f610d8c982.htmlSn.exe是加强名称的工具
    gacutil是将DLL加入到全局缓存里的工具
    strong name
    http://blog.csdn.net/jemmy/archive/2008/03/14/2181026.aspx
    http://www.cnblogs.com/jecray/archive/2007/04/15/strongname.html