有一个dll在delphi有问题,但是在BCB调用就没有问题。(个DLL是短信协议CMPP1.2版本的dll)(200分)

  • 主题发起人 主题发起人 daozhao
  • 开始时间 开始时间
D

daozhao

Unregistered / Unconfirmed
GUEST, unregistred user!
delphi代码如下。
procedure TForm1.Button1Click(Sender: TObject);
begin
if InitCMPPAPI(PChar(Edit1.text))=0 then
begin
showmessage('ok');
end
else
begin
showmessage('false');
end;
end;
end;//出错地方

BCB 代码如下
void __fastcall TForm1::Button1Click(TObject *Sender)
{

if (InitCMPPAPI(Edit1->text.c_str())==0 )
{
ShowMessage("OK");
}
else
{ ShowMessage("false");
}

}
bcb的程序按下button1后显示左OK.一切正常。
delphi的程序按下button1后显示左OK.整个程序退出了。不知道什么原因。
进行代码跟踪的时候是button那个过程的end,地方出了个读0x00000000地址错误出来。
但是如果我在Button1Click中加入该DLL的其他函数就吴会退出整个程序。最多有时候报错。但是在BCB中就出过错。

有没有人知道啊。
这个DLL是短信协议CMPP1.2版本的dll来的。
还有谁有CMPP1.2版本的双向模拟器啊。给个下载地址来,多谢。
 
是否Dll Function 声称不对?
 
1、InitCMPPAPI的c的声明和delphi贴出来我对比一下,看翻译的对不对
2、InitCMPPAPI(PChar(Edit1.text)) 改成:
var s:string;
s:=Edit1.text;
InitCMPPAPI(PChar(s))
 
后退
顶部