1

我正在使用 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 从我的应用程序执行此操作时,我似乎得到了随机文件(它们似乎已被删除)。如果我从命令行运行完全相同的命令,我会得到完美的结果。运行这两个确实会返回一个文件并将其正确转储到我想要的磁盘,它只是不是我要求的文件。

有任何想法吗?

4

2 回答 2

1

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

尝试使用双反斜杠,看看是否能解决问题。

于 2008-10-03T23:18:29.393 回答
0

您可能最好将其要求 Perforce 支持本身,因为这听起来像是他们软件中的错误。

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

于 2008-10-03T06:01:43.577 回答