2008-10-02 342 views
1

我正在使用P4COM與我們的perforce服務器進行通信。我寫了一個小實用程序來簡化我們對哪些文件從一個發行版更改爲另一個版本的QA。我一直在使用Delphi的P4COM接口。到現在爲止還挺好。使用P4COM的奇怪結果

我雖然它可能很好,讓用戶在我的小工具內查看文件的兩個版本之間的差異,而不是回到p4v。所以,我打印(獲取)使用p4COM和下面的命令

打印-o在每個版本中的文件 「E:\開發\ TempProjects \ p4Changes \ TEMP \ File_dispatch.pas#25」,「//庫/ mydepotpath /File_dispatch.pas"#25

打印-o 「E:\開發\ TempProjects \ p4Changes \ TEMP \ File_dispatch.pas#26」,「//庫/ mydepotpath/File_dispatch。 pas「#26

但是,當我從我的應用程序使用P4COM做到這一點時,我似乎得到了隨機文件(它們似乎被刪除了)。如果我從命令行運行完全相同的命令,我會得到完美的結果。運行這兩個程序會返回一個文件並將其正確地轉儲到我想要的磁盤上,而不是我所要求的文件。

任何想法?

回答

0

對於Perforce支持本身來說,您可能會更好,因爲這聽起來像是他們軟件中的一個錯誤。

作爲旁註:你爲什麼使用p4v? (我自己非常喜歡p4win)

+0

我使用p4v,因爲它比p4win更好。它效果更好,它有更多的功能,一旦你調整了不同的術語是一個更高效的產品。 另外p4win不會被perforce支持更長的時間。 – 2008-10-03 10:30:12

1

它可能是命令字符串中的反斜槓問題嗎?這可以在命令行上正常工作,但是一個反斜線可能會被解釋爲一個轉義碼,無論您使用的是哪種語言編譯器(如果是C或C++,那麼這肯定會導致一個問題,而且這可能發生在底層P4COM方面)。

嘗試使用雙反斜槓,看看是否修復它。