【问题标题】:Segmentation fault when running Terminal from Delphi project从 Delphi 项目运行终端时出现分段错误
【发布时间】:2014-12-07 17:48:34
【问题描述】:

在我的 Delphi 项目中,我调用了一些 终端 命令来访问文件并进行一些更改。当我在 OS X 中运行时,终端命令无法正常工作。在乞讨中,它说许可被拒绝。我通过使用 chmod 777 解决了这个问题。然后当我尝试创建一个 .txt 文件时,它显示“分段错误:11”!并且尝试转换图像的命令根本不起作用。无论如何,当我直接在终端中编写它们而不使用delphi时,它们都可以完美地工作。

这是我为调用这两个终端命令而写的代码:

_system(PAnsiChar(AnsiString('./dcmj2pnm '+ pathdcm + ' ' + pathbmp + ' +oj') ));
_system(PAnsiChar(AnsiString('./dcmdump '+ pathdcm +' > '+pathtxt) ));    

【问题讨论】:

    标签: macos delphi terminal segmentation-fault delphi-xe6


    【解决方案1】:

    我终于设法解决了我的问题!我发布它以防万一有人遇到同样的问题。 据我了解,系统无法将字符串(终端的命令行)正确转换为 PAnsiChar。所以我只是单独转换它,然后调用终端。这是我现在的代码行。

    comm := dir+'\dcmj2pnm '+ pathdcm + ' ' + pathbmp + ' +oj';
    comm1:= dir +'\dcmdump  '+ pathdcm +' > '+pathtxt;
    
     co := PAnsiChar(AnsiString(comm));
     co1 := PAnsiChar(AnsiString(comm1));
    
     _system(co);
     _system(co1);  
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-17
      • 2018-05-08
      • 1970-01-01
      • 1970-01-01
      • 2017-02-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多