我如何 'warn' 我关闭了它调用的 DLL 的应用程序?
How do I 'warn' the Application that I closed the DLL it called?
既然我知道你们都是才华横溢的杰出人士,也许有人可以帮助我。
情况是这样的:
我有一个调用 DLL 的应用程序。这里的问题是我在 TAdvPanel 中打开 DLL(它属于 TMS 库,但我相信它也适用于标准面板),而且它工作得很好。
每当我关闭选项卡时,我总是可以再次调用 DLL 并重新创建它的窗体,但是当我关闭窗体时,DLL 所在的选项卡保持打开状态,其中没有任何内容。
有没有办法让我 "warn" 关闭 DLL 的应用程序并且我可以关闭 DLL 所在的选项卡?
(注:我写的Form都是指DLL的Form)
这是我从应用程序内部调用 DLL 的方式:
CallCompany(<Parameters..>,Panel.Handle);
下面这段代码属于 DLL:
library Company
uses
...,
U_Form in 'U_Form.pas' {Form}, Windows,
... ;
{$R *.res}
procedure CallCompany(<Parameters..>; ParentForm: THandle); export; stdcall;
var
...
begin
... <Preparing the form to open> ...
Form.Show;
Windows.SetParent(Form.Handle, ParentForm);
end;
exports
CallCompany;
我不熟悉 DLL 及其工作方式。我知道我不能给用户 DLL 中的 "Exit" 按钮,迫使他关闭选项卡,但我也想给他那个选项。
啊,我没有 DLL 窗体的 OnClose 事件的任何代码。
如果您需要任何其他信息来提供帮助,请告诉我,我会 post 提供任何需要的信息。
顺便说一句,我正在使用 Delphi XE7。
感谢关注
补充问题:
我有一个 TAdvPageControl,我在其中创建了 TAdvTabSheets,在这个 TAdvTabSheets 中我放了一个 TAdvPanel(设置为 alClient)。
我调用的 DLL 有一个 Form,它属于 "more that a DLL" 类别吗?
我正在 post 制作一张图片,这样可能会清楚一些。如果还是不明白,就直接说吧,我就丢问题了。
When I close the form, the tab where the form was stays open, with no content inside of it.
切勿在不关闭选项卡的情况下关闭表单。这样就不会出现这种情况。
至于细节,我 none 可以提供,因为这个问题没有真正的细节,也没有 MCVE。但很明显,选项卡及其承载的表单必须一致显示和隐藏。
既然我知道你们都是才华横溢的杰出人士,也许有人可以帮助我。
情况是这样的: 我有一个调用 DLL 的应用程序。这里的问题是我在 TAdvPanel 中打开 DLL(它属于 TMS 库,但我相信它也适用于标准面板),而且它工作得很好。
每当我关闭选项卡时,我总是可以再次调用 DLL 并重新创建它的窗体,但是当我关闭窗体时,DLL 所在的选项卡保持打开状态,其中没有任何内容。
有没有办法让我 "warn" 关闭 DLL 的应用程序并且我可以关闭 DLL 所在的选项卡?
(注:我写的Form都是指DLL的Form)
这是我从应用程序内部调用 DLL 的方式:
CallCompany(<Parameters..>,Panel.Handle);
下面这段代码属于 DLL:
library Company
uses
...,
U_Form in 'U_Form.pas' {Form}, Windows,
... ;
{$R *.res}
procedure CallCompany(<Parameters..>; ParentForm: THandle); export; stdcall;
var
...
begin
... <Preparing the form to open> ...
Form.Show;
Windows.SetParent(Form.Handle, ParentForm);
end;
exports
CallCompany;
我不熟悉 DLL 及其工作方式。我知道我不能给用户 DLL 中的 "Exit" 按钮,迫使他关闭选项卡,但我也想给他那个选项。
啊,我没有 DLL 窗体的 OnClose 事件的任何代码。
如果您需要任何其他信息来提供帮助,请告诉我,我会 post 提供任何需要的信息。
顺便说一句,我正在使用 Delphi XE7。
感谢关注
补充问题:
我有一个 TAdvPageControl,我在其中创建了 TAdvTabSheets,在这个 TAdvTabSheets 中我放了一个 TAdvPanel(设置为 alClient)。
我调用的 DLL 有一个 Form,它属于 "more that a DLL" 类别吗?
我正在 post 制作一张图片,这样可能会清楚一些。如果还是不明白,就直接说吧,我就丢问题了。
When I close the form, the tab where the form was stays open, with no content inside of it.
切勿在不关闭选项卡的情况下关闭表单。这样就不会出现这种情况。
至于细节,我 none 可以提供,因为这个问题没有真正的细节,也没有 MCVE。但很明显,选项卡及其承载的表单必须一致显示和隐藏。