使用P4COM的奇怪结果

时间:2008-10-02 16:26:51

标签: delphi version-control perforce

我正在使用P4COM与我们的perforce服务器进行通信。我已经编写了一个小实用程序来简化我们从一个版本到另一个版本的文件更改的QA。我一直在使用Delphi的P4COM接口。到目前为止一切都很好。

我认为允许用户从我的小实用程序中查看文件的两个版本之间的差异而不是返回到p4v可能会很好。所以我使用p4COM和以下命令

打印(获取)每个版本的文件
  

print -o“E:\ Development \ TempProjects \ p4Changes \ temp \ File_dispatch.pas#25”“//depot/mydepotpath/File_dispatch.pas”#25

  

print -o“E:\ Development \ TempProjects \ p4Changes \ temp \ File_dispatch.pas#26”“//depot/mydepotpath/File_dispatch.pas”#26

然而,当我使用P4COM从我的应用程序执行此操作时,我似乎得到随机文件(并且它们似乎是已删除的文件)。如果我从命令行运行完全相同的命令,我会得到完美的结果。运行这两个文件确实会返回一个文件,并将其正确地转储到我想要的磁盘上,而不是我要求的文件。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

它可能是命令字符串中的反斜杠问题吗?这在命令行中可以正常工作,但是你可以使用任何语言编译器将单个反斜杠解释为转义代码(如果是C或C ++,那么这肯定会导致问题,并且可能会在引擎盖下发生P4COM方面)。

尝试使用双反斜杠,看看是否能修复它。

答案 1 :(得分:0)

你可能更好地要求Perforce支持本身,因为这听起来像是他们软件中的一个错误。

作为旁注:为什么使用p4v? (我非常喜欢自己的p4win)