2008-10-02 46 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方面)。

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