【发布时间】:2011-05-15 15:49:42
【问题描述】:
我正在做一些构建自动化,并希望从我正在使用 Delphi XE 编写的应用程序中运行 Delphi 7 IDE。
我的 Delphi 7 IDE 位于:
'C:\Program Files\Borland\Delphi7\Bin\delphi32.exe'
还在做:
ShellExecute( Handle, 'Open', 'C:\Program Files\Borland\Delphi7\Bin\delphi32.exe', '', '', sw_ShowNormal );
最终进入 Delphi 7 IDE,但只是在大量缺少包错误之后。
在做:
ShellExecute( Handle, 'Open', 'C:\windows\notepad.exe', '', '', sw_ShowNormal );
工程文件打开记事本。
我还有一个名为“Delphi7IDE.bat”的批处理文件,当我单击批处理文件时它会打开 Delphi 7,但是这样做:
ShellExecute( Handle, 'Open', 'C:\sys\batch\Delphi7IDE.bat', '', '', sw_ShowNormal );
产生与上述相同的错误。
我尝试使用 Delphi 7 菜单快捷方式中指定的目录(即调用:
ShellExecute( Handle, 'Open', 'C:\Program Files\Borland\Delphi7\Bin\delphi32.exe', '', 'C:\Program Files\Borland\Delphi7\Projects\', sw_ShowNormal );"
但这给出了同样的错误(这是可以预料的,因为上面的批处理文件示例没有固定目录并且在单击时运行良好)。
有多个错误,但其中一个示例是
请问我做错了什么?
【问题讨论】:
-
更多的是猜测而不是答案,但是您是否正确设置了当前目录?
-
@Mason:谢谢,但我尝试过但没有成功,我更新了帖子以包含此内容和错误消息,以防出现提示。
-
这不应该是这样,但是您尝试将
0作为句柄和nil作为动词(分别为第一个和第二个参数)传递给ShellExecute? -
还有更多的猜测:也许这是对您的某些文件/包的访问限制的问题?
标签: delphi shellexecute