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

解决方案 »

  1.   

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

  2.   

    WinExec('HH.EXE FN',SW_NORMAL);这样也执行不了吧FN应该放外面
      

  3.   

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

  4.   

    放在外面?怎么放?WinExec('HH.EXE FN',SW_NORMAL);可以执行,断点调试了一下,FN的值也是对的。
      

  5.   

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

  6.   

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

  7.   

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

  8.   

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