我如何警告'我关闭了它调用的DLL的应用程序?

时间:2016-01-19 18:05:53

标签: delphi delphi-xe7

因为我知道你们都是杰出的人才,所以也许有人可以帮助我。

情况如下: 我有一个调用DLL的应用程序。这里的问题是我在TAdvPanel中打开DLL(它属于TMS库,但我相信它也适用于标准面板),并且它完全正常。

每当我关闭选项卡时,我总是可以再次调用DLL并重新创建其Form,但是当我关闭Form时,DLL所在的选项卡保持打开状态,其中没有内容。

我有办法警告"警告"关闭DLL的应用程序以及我可以关闭DLL所在的选项卡吗?

(注意:每当我写Form时,我的意思是DLL的表格。)

这就是我从Application中调用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及其工作方式的新手。我知道我不能给用户&#34;退出&#34; DLL中的按钮,迫使他关闭标签,但我也想给他那个选项。

啊,我没有任何代码用于DLL表格的OnClose事件。

如果您需要任何其他信息以便提供帮助,请告诉我,我会在此处发布任何需要的信息。

BTW,我正在使用Delphi XE7。

感谢您的关注。

补充问题:

我有一个TAdvPageControl,我在其中创建了TAdvTabSheets,在这个TAdvTabSheets中我放了一个TAdvPanel(设置为alClient)。

我调用的DLL有一个Form,它的分类为&#34;更多的是DLL&#34; ?

我发布了一张图片,以便稍微清楚一点。如果它仍然令人困惑,只需说出来,我就会放弃这个问题。

enter image description here

1 个答案:

答案 0 :(得分:2)

  

当我关闭表单时,表单所在的选项卡保持打开状态,其中没有内容。

请勿在不关闭标签的情况下关闭表单。这种情况从未出现过。

至于具体细节,我没有提供,因为这个问题没有真正的细节,没有MCVE。但很明显,它所托管的标签和表格必须同时显示和隐藏。

相关问题