动态库是用DELPHI/pascal编写的  
我的加载定义是[DllImport("TerAccDll.dll",  EntryPoint="GetBufData",CharSet=CharSet.Auto,CallingConvention=CallingConvention.ThisCall)]  public  static  extern  int  GetBufData  (long  idx,char*  p1,int  TerNo,int  Port);    动态库里的调用函数
 function GetBufData (
idx:Longint;   //待读取的交易记录号
p1:PChar;   //返回读取的数据
TerNo:integer;  //终端机号
Port:integer =1   //串口号  ):integer; 
TerAccDll是动态库  GetBufData  是要调用的函数  
CallingConvention我用的是ThisCall    结果idx传入到函数内部就不正确了  ,后面的TerNo    Port      传递是正确的  
 
如果  CallingConvention属性我用StdCall  结果idx的传递是正确的  
TerNo    Port      的值传递就不正确了    
 
动态库TerAccDll.dll  加上有stdcall标示  
 
请问怎么回事?  请兄弟们帮分析下 问题出在哪的可能性比较大? 谢谢了觉得我没说清楚的加我的qq12940139   或者MSN:   [email protected] lovebingye(降龙) 说
delphi的long是32位的,而.net的long是64位的,应该是这个原因,所以你应该显示的声明
int32,int16来匹配delphi的long和int请问具体怎么显示的声明int32,int16来匹配delphi的long和int啊?
小弟雪地跪求了   头大啊