DLL的问题。求教。

mmtang3 2002-10-18 10:22:17
在Delphi中如何调用C++ Builder做的DLL.
请您给点详细的说明。
谢谢。
...全文
29 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mmtang3 2002-10-22
  • 打赏
  • 举报
回复
谢谢大家。
hardcoffe 2002-10-18
  • 打赏
  • 举报
回复
哎,这些东西都是看一下帮助就能得到的东西!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
lonelybug 2002-10-18
  • 打赏
  • 举报
回复
没错的,我就使用隐藏式调用的,那一般使用在对不同操作系统的时候!
jxk 2002-10-18
  • 打赏
  • 举报
回复
同意,一种是显式调用,一种是隐式调用
zhourongbiao 2002-10-18
  • 打赏
  • 举报
回复
声明外部函数
function MyFunc(参数表);返回值类型;external "c:\Me\CBuider.dll";
然后就可以调用了呀。
ntlan 2002-10-18
  • 打赏
  • 举报
回复
//得到DLL内函数指针的函数
function GetDllFunc(const strDllName, strFuncName: string): pointer;
var hdlDll: THandle;
begin
Result := nil;
hdlDll := LoadLibrary(PChar(strDllName));
if hdlDll = 0 then Exit;
Result := GetProcAddress(hdlDll, PChar(strFuncName));
end;

注:
1)知道DLL中的函数名,注意大小写问题;
2)知道DLL中的函数结构,定义此结构:如:
type
TFucGetName = function(None: string): PChar;
也可以用一个定义单元!
3)使用DLL内的函数
procedure UseDLLFunc(const strDllName, strFuncName: string);
var pFunc: pointer;
pchrReturn: PChar;
begin
pFunc := GetDllFunc(strDllName, strFuncName);
if pFunc = nil then Exit;
pchrReturn := TFucGetName(pFunc)(EmptyStr);//使用函数
ShowMessage(string(pchrReturn));
end;

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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