VC中DLL的函数声明:
extern "C" long PASCAL EXPORT Mid_Get_NodeTime(char *Node,char *cTime);
这个函数在VB中工作正常,现在需要在C#中调用,
说明:
Node参数是一个输入参数,cTime是一个输出参数,
功能:输入一个节点名,获取它的时间.请问在C#里怎么声明和调用?
extern "C" long PASCAL EXPORT Mid_Get_NodeTime(char *Node,char *cTime);
这个函数在VB中工作正常,现在需要在C#中调用,
说明:
Node参数是一个输入参数,cTime是一个输出参数,
功能:输入一个节点名,获取它的时间.请问在C#里怎么声明和调用?
[DllImport("dll名")]
private static extern int Mid_Get_NodeTime(string Node,StringBuilder cTime);
声明之后,和其他方法一样调用。
怎么赋值?
警告:
方法、运算符或访问器“WindowsApplication1.Form1.Mid_Get_NodeTime(string, System.Text.StringBuilder)”被标记为外部对象并且它上面没有任何属性。请考虑添加一个 DllImport 属性以指定外部实现。 E:\高速Demo\C#\获取时间、发送等演示\WindowsApplication1\WindowsApplication1\Form1.cs 17 28 WindowsApplication1
怎么修改?
你不会漏掉了前面的DllImport吧?
[DllImport("CQGS_MID.dll")]
static extern long Mid_Get_NodeTime(string node, StringBuilder time);
[DllImport("CQGS_MID.dll")]
static extern int Get_NodeStat_(string node, string stat);
static extern long Mid_Get_NodeTime(string node, StringBuilder time);
[DllImport("CQGS_MID.dll")]
static extern int Get_NodeStat_(string node, string stat);
[DllImport("CQGS_MID.dll")]
static extern long Mid_Get_NodeTime(string node, StringBuilder time);OK!
原来是这样写.今天第一次写C#,学了不少东西,谢谢各位.