【发布时间】:2013-05-08 07:26:12
【问题描述】:
下面的DLL是用XE3编译的。
library MyDLL;
uses System.SysUtils, System.Classes, Vcl.Dialogs;
{$R *.res}
var
II: Integer;
function Test: Integer;
begin
Result := II;
end;
exports Test;
begin
II := 5;
ShowMessage('DLL prolog');
end.
当我从 Delphi XE3 或 Delphi 2007 程序调用函数 Test() 时,我在这两种情况下都得到了正确的结果 (5)。但是只有 Delphi 2007 程序会显示“DLL prolog”消息,而不是 Delphi XE3 程序。为什么?
编辑
当我使用 Delphi 2007 主机 ShowMessage() 从 XE3 IDE “运行” dll 时也不起作用。
【问题讨论】:
-
您是否尝试改用标准窗口
MessageBox? -
是的
MessageBox工作正常!? -
您知道您可以从 DllMain 执行的操作受到严格限制吗?
-
我不知道,但我现在在msdn 上找到了。谢谢!
标签: delphi windows-7 delphi-2007 delphi-xe3