一个莫名其妙的问题,高手帮忙!

时间:2022-05-30 20:11:42
我用如下语句调用chm格式的帮助文件,
  FN:=ExtractFilePath(Application.ExeName)+'GZGL.CHM';
  WinExec('HH.EXE FN',SW_NORMAL);
程序执行后,调用帮助文件上无内容,只有该也无法显示的提示。
 但如果把WinExec('HH.EXE FN',SW_NORMAL);中的FN该成绝对路径,那就一切正常了,这是怎么回事,又哪位朋友遇到过类似的问题吗?

11 个解决方案

#1


exe文件是否跟帮助文件再同一目录下?

#2


WinExec('HH.EXE FN',SW_NORMAL);

这样也执行不了吧

FN应该放外面

#3


是在同一个目录下。

#4


FN:=ExtractFilePath(Application.ExeName)+'GZGL.CHM';
WinExec('HH.EXE '+FN,SW_NORMAL);

#5


放在外面?怎么放?

WinExec('HH.EXE FN',SW_NORMAL);

可以执行,断点调试了一下,FN的值也是对的。

#6


我已经给出答案了

#7


如果这样
FN:=ExtractFilePath(Application.ExeName)+'GZGL.CHM';
WinExec('HH.EXE '+FN,SW_NORMAL);
报如下错:
[Error] NO1.PAS(731): Incompatible types: 'String' and 'PChar'

#8


WinExec(PChar('HH.EXE '+FN),SW_NORMAL);

#9


to li_zhifu(东北人):

多谢,已经解决了,我马上结帐。
你能告诉我,为什么会出现这种问题吗?
为什么我原来的语句可以执行,但帮助文件上不显示内容?

#10


你原来的那句话WinExec('HH.EXE FN',SW_NORMAL);中的FN只是字符串"FN"并不是变量FN

#11


哦,多谢,结帐!

#1


exe文件是否跟帮助文件再同一目录下?

#2


WinExec('HH.EXE FN',SW_NORMAL);

这样也执行不了吧

FN应该放外面

#3


是在同一个目录下。

#4


FN:=ExtractFilePath(Application.ExeName)+'GZGL.CHM';
WinExec('HH.EXE '+FN,SW_NORMAL);

#5


放在外面?怎么放?

WinExec('HH.EXE FN',SW_NORMAL);

可以执行,断点调试了一下,FN的值也是对的。

#6


我已经给出答案了

#7


如果这样
FN:=ExtractFilePath(Application.ExeName)+'GZGL.CHM';
WinExec('HH.EXE '+FN,SW_NORMAL);
报如下错:
[Error] NO1.PAS(731): Incompatible types: 'String' and 'PChar'

#8


WinExec(PChar('HH.EXE '+FN),SW_NORMAL);

#9


to li_zhifu(东北人):

多谢,已经解决了,我马上结帐。
你能告诉我,为什么会出现这种问题吗?
为什么我原来的语句可以执行,但帮助文件上不显示内容?

#10


你原来的那句话WinExec('HH.EXE FN',SW_NORMAL);中的FN只是字符串"FN"并不是变量FN

#11


哦,多谢,结帐!