【发布时间】:2010-02-17 11:40:59
【问题描述】:
我在 DLL 中有一个 Delphi 表单(我知道这会将 DLL 的使用限制为 Delphi,但在这种情况下这不是问题)。
DLL 导出一个函数ShowForm,大致如下:
procedure ShowForm (App : TApplication);
begin
OldApp := Application;
try
Application := App;
MyForm := TMyForm.Create (nil);
try
MyForm.ShowModal;
finally
FreeAndNil (MyForm);
end;
finally
Application := OldApp;
end;
end;
现在我在表单上使用TAdvOfficeHint(来自TMS 组件包)。不幸的是,提示没有显示出来。
我在这里遗漏了什么吗?如果我在主应用程序中显示它,我怎样才能使表单的行为与它完全一样?
谢谢!
【问题讨论】:
-
你不想听到的答案是:使用运行时包。
-
您可以将其保留为 dll,但至少使用运行时包编译您的 exe 和 dll。如果您不使用运行时包,您将遇到越来越多的此类问题。真的……你自己已经找到其他人了:stackoverflow.com/questions/2250291/…