2014-10-13 6 views
0

델파이 프로젝트에서 나는 터미널 명령을 호출하여 파일에 액세스하고 일부 내용을 변경합니다. OS X에서 실행하면 터미널 명령이 제대로 작동하지 않습니다. 구걸에서 그것은 허가 거부했다. chmod 777을 사용하여 문제를 해결했습니다. 그런 다음 .txt 파일을 만들려고하면 "세그먼트 오류 : 11"이 표시됩니다! 그리고 이미지를 변환하려고하는 명령이 전혀 작동하지 않습니다. 어쨌든 델파이를 사용하지 않고 둘 다 터미널에서 직접 쓸 때 완벽하게 작동합니다.Delphi 프로젝트에서 터미널을 실행할 때 분할 오류

이 내가 쓴 줄이 두 터미널 명령을 호출 할 수 있습니다 :

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

답변

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);