Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi-在IDE中以编程方式打开项目_Delphi_Shellexecute - Fatal编程技术网

Delphi-在IDE中以编程方式打开项目

Delphi-在IDE中以编程方式打开项目,delphi,shellexecute,Delphi,Shellexecute,我将使用embarcadero studio以编程方式打开.dproj文件。 我知道dproj文件的路径和bds.exe的路径,如何操作?您可以使用以下命令从cmd打开delphi项目: “C:\DelphiInstallation\bin\bds.exe”-pDelphi“C:\Source\YourProjectFile.dproj” 在Delphi中,您可以使用以下代码: ShellExecute(Application.Handle, 'open', PChar('"C:\De

我将使用embarcadero studio以编程方式打开.dproj文件。
我知道dproj文件的路径和bds.exe的路径,如何操作?

您可以使用以下命令从cmd打开delphi项目:
“C:\DelphiInstallation\bin\bds.exe”-pDelphi“C:\Source\YourProjectFile.dproj”

在Delphi中,您可以使用以下代码:

 ShellExecute(Application.Handle,
  'open',
  PChar('"C:\DelphiInstallation\bin\bds.exe"'),
  PChar('-pDelphi "C:\Source\YourProjectFile.dproj"'),
  nil,
  SW_SHOWNORMAL)

您可以使用以下命令从cmd打开delphi项目:
“C:\DelphiInstallation\bin\bds.exe”-pDelphi“C:\Source\YourProjectFile.dproj”

在Delphi中,您可以使用以下代码:

 ShellExecute(Application.Handle,
  'open',
  PChar('"C:\DelphiInstallation\bin\bds.exe"'),
  PChar('-pDelphi "C:\Source\YourProjectFile.dproj"'),
  nil,
  SW_SHOWNORMAL)

如果双击项目文件,它将在Delphi中打开。这意味着您应该能够“shell执行”该文件。或者,使用文件名作为第一个参数调用bds。但尝试了这两种解决方案,但均无效:打开文件不起任何作用,使用文件名作为参数调用bds打开IDE但不直接打开projectWorks打开文件,如果双击在Delphi中打开的项目文件,可能由于隐式强制转换出错而无法工作。这意味着您应该能够“shell执行”该文件。或者使用文件名作为第一个参数调用bds。但尝试了这两种解决方案,但都不起作用:打开文件不起任何作用,使用文件名作为参数调用bds打开IDE但不直接打开projectWorks打开文件,可能是由于隐式强制转换出错而无法工作!这将在新的IDE中打开它。我缺少文件名1周围的双引号
CreateProcess
是用于创建新流程的正确API。2.如果您必须使用shell(此处不需要),但如果您必须使用
ShellExecuteEx
,因为它有健全的错误报告。AFAIK在资源管理器中双击将使用bdslauncher.exe,而不是bds.exe。可能这会导致“new IDE”issue.FWIW,如果字符串是文本,则可以省略PChar()强制转换:
ShellExecute(Application.Handle,'open','C:\etc..','-pDelphi“C:\Source\etc..”,nil,SW_SHOWNORMAL)不错!这将在新的IDE中打开它。我缺少文件名1周围的双引号
CreateProcess
是用于创建新流程的正确API。2.如果您必须使用shell(此处不需要),但如果您必须使用
ShellExecuteEx
,因为它有健全的错误报告。AFAIK在资源管理器中双击将使用bdslauncher.exe,而不是bds.exe。可能这会导致“new IDE”issue.FWIW,如果字符串是文本,则可以省略PChar()强制转换:
ShellExecute(Application.Handle,'open','C:\etc..','-pDelphi“C:\Source\etc..”,nil,SW_SHOWNORMAL)