dll运行时错误(20分)

  • 主题发起人 主题发起人 峻祁连
  • 开始时间 开始时间

峻祁连

Unregistered / Unconfirmed
GUEST, unregistred user!
dll运行时错误

信息:
"0x039d3dd6"指令引用的“0x04333f40”内存。该内存不能为“read”。

Runtime error 216 at 039d3dd6
=========
//declaration
function toQDB(nYesNO :integer):integer
//implementation
function(var nYesNO:integer):integer;
begin
……
end;
编译通过,mapbasic调用运行时出现上述信息,请问各位高手,为何错误?如何定位到错误的
地方,怎么解决啊,谢谢!
 
用delphi的run->run parammeters调试dll.
另外把声明换成function toQDB(nYesNO :integer):integer;stdcall
加上stdcall稳妥点,符合标准参数调用规则。
还有好像没有这么用的吧?
//implementation
function(var nYesNO:integer):integer; //能这样写函数实现???你猛^_^
begin

还有,有没有exprot你所实现的函数???
 
忘了写:
//declaration
function toQDB(nYesNO :integer):integer;cdecl;
//implementation
function(var nYesNO:integer):integer;cdecl;
begin
……
end;
 
>>function(var nYesNO:integer):integer; //能这样写函数实现???你猛^_^
你怎么写啊?我是新手,请指教!
 
我自行解决了,散分!
 
to 峻祁连:
>>function(var nYesNO:integer):integer; //能这样写函数实现???你猛^_^
要这样写:
function 函数名(var nYesNO:integer):integer;
函数名用具体函数名替代.对不起,我说话有时候比较冲,请原谅好吗?
 
接受答案了.
 
后退
顶部