我的帮助文档是CHM类型的,不知怎么才能在DELPHI中发布了?(50分)

  • 主题发起人 主题发起人 ljg452036
  • 开始时间 开始时间
L

ljg452036

Unregistered / Unconfirmed
GUEST, unregistred user!
我用WINDOWS HELP DESIGNER 做好了一个帮助文档,编译后扩展名为CHM,现在我在主窗口中做了一个按钮,用ONCLICK事件,application.HelpCommand(15,0);
试了不行以后,我就用索引的办法,
Application.HelpFile := 'myhelp.CHM';
Application.HelpCommand(HELP_FINDER, 0);
请教各位是不是因为它是CHM而不是HLP的格式不能调用呀,出来的提示信息是“MYHELP.CHM不是WINDOWS的帮助文档,或者已经损坏”,但是我的文件我编译后能打开呀,就是没有损坏,请教各位,怎么办?着着急用。
 
直接调用不行么SHELLEXECUTE
 
if FileExists(ExtractFilePath(Application.ExeName) + ‘help.chm‘) then
ShellExecute(handle, ‘open‘, Pchar(ExtractFilePath(Application.ExeName) + ‘help.chm‘), nil, nil, SW_SHOWNORMAL)
else
Application.MessageBox(‘未找到帮助文件!‘, ‘错误‘, MB_ICONINFORMATION)
 
to yangxiao_jiang:
出现如下语句了:
[Error] main.pas(326): Undeclared identifier: 'ShellExecute'
这是什么原因了,
 
uses ShellAPI;
 
直接在我们的程序中调用就可以了。。。
 
首先引用 ShellAPI单元 uses ShellAPI;
然后就可以调用ShellExecute函数了。。
 
在打开这个CHM文档后,自动转移到某一小节怎么处理?
 
那可能是chm的事情了??
 
直接用文档的格式打开就行了
就像是用open那样
 
procedure TForm1.SpeedButton11Click(Sender: TObject);
var FileName: string;
begin
// FileName := ExtractFilePath(ParamStr(0)) + '°ïÖúÎļþ.chm' ;
filename :='°ïÖúÎļþ.chm';
ShellExecute(0, nil, pchar(FileName), nil, nil, SW_SHOWMAXIMIZED);
end;

这是个例子,你可以参考一下
 
ShellExecute(handle,'OPEN',PChar('路径名字.chm'),'',路径,SW_ShowNormal);
就这样就行了
 
ShellExecute(handle,'OPEN',PChar('路径名字.chm'),'',路径,SW_ShowNormal);
或者 ShellExecute(handle,nil,PChar('路径/路径名字.chm'),nil,nil,SW_ShowNormal);效果是一样的
 
接受答案了.
 
后退
顶部