2008-10-02 3 views
1

P4COM을 사용하여 PERFORCE 서버와 통신하고 있습니다. 한 파일에서 다른 파일로 변경된 파일의 QA를 단순화하기 위해 약간의 유틸리티를 작성했습니다. 필자는 Delphi에서 P4COM 인터페이스를 사용하고 있습니다. 여태까지는 그런대로 잘됐다.P4COM을 사용하는 이상한 결과

비록 사용자가 p4v로 돌아가는 대신 내 작은 유틸리티 내에서 파일의 두 버전 간 diff를 볼 수 있도록 허용하는 것이 좋을지 만. 그래서 인쇄 (수) p4COM하고 다음 명령

인쇄 -o 사용하여 각 버전의 파일 "E : \ 개발 \ TempProjects \ p4Changes File_dispatch.pas # 25 \ TEMP \" "// 창고/mydepotpath을 /File_dispatch.pas"#25

인쇄 -o : // 창고/mydepotpath/File_dispatch ""E \ 개발 \ TempProjects \ p4Changes File_dispatch.pas # 26 \ TEMP \ ". pas "# 26

그러나 내가 P4COM을 사용하여 내 응용 프로그램에서이 작업을 수행 할 때 무작위로 파일을 가져 오는 것 (그리고 파일이 삭제 된 것으로 보입니다). 명령 줄에서 똑같은 명령을 실행하면 완벽한 결과를 얻습니다. 이 두 가지 모두를 실행하면 파일을 반환하고 내가 원하는 파일이 아닌 원하는 디스크로 올바르게 덤프합니다.

아이디어가 있으십니까?

답변

0

소프트웨어의 버그처럼 들리 겠지만, PERFORCE 자체를 지원하는 것이 좋습니다.

옆줄로 : 왜 p4v를 사용합니까? (필자는 p4win을 아주 좋아한다.)

+0

p4v보다 나은 제품이므로 p4v를 사용합니다. 더 잘 작동하고, 더 많은 기능을 가지고 있으며 일단 다른 조건을 조정하면 훨씬 생산적인 제품입니다. 또한 p4win은 perforce에서 훨씬 오래 동안 지원되지 않을 것입니다. –

+0

나의 취향이 p4win으로 간다는 것을 듣고 유감스럽게 생각합니다. 그것은 내가 사용했던 기본 Windows 인터페이스 인 맨손 (bare-bones)에 더 적합합니다. 내 바탕 화면에서 Vista를 찾을 수 없습니다 ;-) – PatrickvL

1

명령 문자열에서 백 슬래시 문제 일 수 있습니까? 이것은 명령 행에서 잘 작동하지만, 하나의 백 슬래시는 사용하는 언어 컴파일러에 따라 이스케이프 코드로 해석 될 수 있습니다 (C 또는 C++ 인 경우에는 문제가 발생할 것이므로 해당 위치에서 발생할 수 있습니다). P4COM 쪽).

두 개의 백 슬래시를 사용하여 수정했는지 확인하십시오.