Nat*_*pos 3 delphi directory spaces lazarus
我有一个关于Lazarus的项目,我想用gcc编译一个源代码,为此我有一个TOpenDialog被叫OpenDialog1和一个TProcess被调用的AProcess.
我用这段代码调用gcc:
procedure TFormMain.btCompileClick(Sender: TObject);
begin
if OpenDialog1.Execute then
begin
AProcess := TProcess.Create(nil);
try
AProcess.CommandLine := 'gcc.exe ' + OpenDialog1.FileName;
AProcess.Options := AProcess.Options + [poWaitOnExit, poUsePipes];
AProcess.Execute;
OutputMemo.Lines.BeginUpdate;
OutputMemo.Lines.Clear;
OutputMemo.Lines.LoadFromStream(AProcess.Output);
OutputMemo.Lines.EndUpdate;
finally
AProcess.Free;
end;
end;
end;
Run Code Online (Sandbox Code Playgroud)
它编译好(Lazzarus上的项目),但是当我测试它时,通过尝试编译源test.c,位于C:\Documents and Settings\Nathan Campos\Desktop,我得到了这个OutputMemo:
'C:\ Documents':没有这样的文件或目录
然后,OpenDialog1没有得到空格的完整路径,或者gcc无法在带空格的文件夹上找到它.
有什么建议可以帮助我吗?
它需要在引号中,所以空格不会绊倒它.像这样:
AProcess.CommandLine := 'gcc.exe "' + OpenDialog1.FileName + '"';
Run Code Online (Sandbox Code Playgroud)
这应该工作.
| 归档时间: |
|
| 查看次数: |
142 次 |
| 最近记录: |