external调用DLL文件的路径怎么使用变量?

kill222 2010-01-26 04:42:19
在EXE内调用DLL文件的函数使用:

function FIG(pid: DWORD): BOOL; stdcall;
external 'd:\123.dll';


var
s:string:
s:='d:\123.dll';

function FIG(pid: DWORD): BOOL; stdcall;
external s; //为什么不行呢?

提示[Pascal Error] Unit1.pas(37): E2026 Constant expression expected ,怎样才能使用变量路径调用外部DLL呢
...全文
179 6 打赏 收藏 举报
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
pathletboy 2010-01-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 kill222 的回复:]
主要是为了在资源里释放以后再加载
[/Quote]
那要使用LoadLibrary,GetProcAddress动态加载了。
kill222 2010-01-26
  • 打赏
  • 举报
回复
主要是为了在资源里释放以后再加载
Harryfin 2010-01-26
  • 打赏
  • 举报
回复
想用变量的就动态加载。你连路径都“静”不下来,编译器编译的时候往哪找DLL呢?
dd_zhouqian 2010-01-26
  • 打赏
  • 举报
回复
function FIG(pid: DWORD): PChar; stdcall;
begin
Result := 'c:\test.dll';
end;
pathletboy 2010-01-26
  • 打赏
  • 举报
回复
变量不行。只能常量。
const s = 'd:\123.dll';
相关推荐
发帖
Windows SDK/API

1177

社区成员

Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
帖子事件
创建了帖子
2010-01-26 04:42
社区公告
暂无公告