如何调用Delphi写的dll

sunliwen780502 2004-07-27 11:55:57
我用Delphi写了一个dll,想在BCB中调用,可是在调用是根本没有结果,不起作用.

var
SaveName: PAnsiChar;
function GetFileName(filename: PAnsiChar): String; stdcall;

function GetFileName(filename: PAnsiChar): String; stdcall;
begin
filename := SaveName;
Result := ExtractFileName(filename);
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
if SaveImageEnDialog1.Execute then begin
SaveName := PAnsiChar(SaveImageEnDialog1.FileName);
ImageEnIO1.SaveToFile(SaveImageEnDialog1.FileName);
end;
end;

//调用程序为
HINSTANCE Dll = LoadLibrary("Scan.dll");
String filename;
if (Dll)
{
//LoadFunction = (String(__stdcall*)())GetProcAddress(Dll, "GetFileName");
GetFileName = (String(__stdcall*)(String))GetProcAddress(Dll, "GetFileName");
if (GetFileName) {
DBEdit3->Text = GetFileName(filename);
ShowMessage(GetFileName(filename));
}
else
ShowMessage(SysErrorMessage(GetLastError()));
FreeLibrary(Dll);
}

else
{
ShowMessage(SysErrorMessage(GetLastError()));
ShowMessage("Unable to load the Dll");
}

我在
Delphi7入门与精通一书中看到,有的dll只能在delphi中调用,这是什么意思呢?
请大家帮助看一看,为什么调用的时候在Delphi中有结果,而在BCB中调用却没有结果呢?
...全文
103 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
gongcengshi 2004-08-14
  • 打赏
  • 举报
回复
顶!

1,178

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 数据库及相关技术
社区管理员
  • 数据库及相关技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧