在我的 Delphi 项目中,我调用了一些终端命令来访问文件并进行一些更改。当我在 OS X 中运行时,终端命令无法正常工作。在乞讨时它表示许可否认。我通过使用chmod 777修复了这个问题。然后当我尝试创建一个.txt文件时,它会显示“ Segmentation fault :11”!尝试转换图像的命令根本不起作用。无论如何,当我直接在终端中编写它们时,它们都能正常工作,而不使用delphi。
这是我写的用来调用这两个终端命令的行:
_system(PAnsiChar(AnsiString('./dcmj2pnm '+ pathdcm + ' ' + pathbmp + ' +oj') ));
_system(PAnsiChar(AnsiString('./dcmdump '+ pathdcm +' > '+pathtxt) ));
答案 0 :(得分:0)
我终于解决了我的问题!我发布它以防万一有人会有同样的问题。 据我所知,系统无法正确地将字符串(终端的命令行)转换为PAnsiChar。所以我只是单独转换它然后调用终端。以下是我的代码行。
comm := dir+'\dcmj2pnm '+ pathdcm + ' ' + pathbmp + ' +oj';
comm1:= dir +'\dcmdump '+ pathdcm +' > '+pathtxt;
co := PAnsiChar(AnsiString(comm));
co1 := PAnsiChar(AnsiString(comm1));
_system(co);
_system(co1);