用Delphi XE2,Win64的。
所以我有一个大的应用程序有许多形式,如果我打开从主窗体中的帮助文件,打开一个模式窗口,然后点击F1到断火模态窗口上下文相关帮助的帮助文件窗口中显示了正确的信息,但帮助文件不能被关闭,直到我关闭模式窗口。 我甚至无法帮助文件再次具有焦点,如果我回去的应用程序,直到模态窗口关闭。
调用旧版本我们的应用程序(用Delphi 6个内置)的本完全相同的帮助文件坐在同一个文件夹中的新版本(与德尔福XE2建)的帮助文件时会显示F1键从模态窗口击中,是反应灵敏,就像我期望可以关闭。
帮助文件的.chm文件类型。
来概括。
通过F1跳转启动应用程序打开帮助文件,通过点击F1帮助文件窗口应用程序并打开模式窗口的应用程序启动帮助从模式窗口无法关闭,直到我跳回到我的应用程序,并关闭模式窗口。
没有任何人有任何想法都为什么这会是什么?
我已经在网上搜索,并没有发现任何类似的问题。
我们难住了。
干杯TJ
- - 编辑 - -
下面是用于对样品2形式的应用程序,也表现出这种行为的一些代码。
program Project1;
uses
Vcl.Forms,
HTMLHelpViewer,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {Form2};
{$R *.res}
begin
Application.Initialize;
Application.HelpFile := 'C:\helpfile.chm';
Application.MainFormOnTaskbar := True;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
下面是Form1的代码:
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
uses Unit2;
procedure TForm1.Button1Click(Sender: TObject);
begin
Form2 := TForm2.Create(Application);
try
Form2.ShowModal;
finally
Form2.Free;
end;
end;
end.
我设置我的帮助文件中的两种形式,以两个有效上下文HelpContext属性。
运行该应用程序 - F1打开帮助文件命中按钮,这样窗体2被创建并显示F1调用帮助文件不能关闭帮助文件,直到我关闭窗体2。
希望这可以帮助。 - TJ