Странные результаты с использованием P4COM - PullRequest
1 голос
/ 02 октября 2008

Я использую P4COM для связи с нашим сервером перформанса. Я написал небольшую утилиту, чтобы упростить нашу проверку качества файлов, которые изменились от одного выпуска к другому. Я использую интерфейс P4COM от Delphi. Пока все хорошо.

Хотя, возможно, было бы неплохо позволить пользователям просматривать различия между двумя версиями файла из моей маленькой утилиты, а не возвращаться к 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 ]

1 голос
/ 04 октября 2008

Может ли быть проблема с обратной косой чертой в командной строке? Это будет хорошо работать в командной строке, но тот или иной обратный слеш может быть интерпретирован как escape-код любым языковым компилятором, который вы используете (если C или C ++, то это, безусловно, вызовет проблему, и это может происходить под капотом сторона P4COM).

Попробуйте использовать двойную обратную косую черту и посмотрите, исправит ли это.

0 голосов
/ 03 октября 2008

Вам, вероятно, лучше спросить об этом у самой поддержки Perforce, поскольку это звучит как ошибка в их программном обеспечении.

Как sidenote: Почему вы используете p4v? (Я очень предпочитаю сам p4win)

...