Странные результаты с использованием P4COM -- delphi поле с участием version-control поле с участием perforce пол Связанный проблема

Weird results using P4COM


1
vote

проблема

русский

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

I Хотя может быть приятно разрешить пользователям просматривать различие между двумя версиями файла из моей маленькой утилиты, а не вернуться к P4V. Итак, я печатаю (Get) файлы при каждом редакции с помощью 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, я, кажется, получаю случайные файлы (и они кажутся удаленными). Если я запускаю той же команду из командной строки, я получаю идеальные результаты. Запуск оба из них возвращает файл и правильно сбрасывает его на диск, где я этого хочу, он просто не файл, который я просил.

Любые идеи?

Английский оригинал

I'm using P4COM to communicate with our perforce server. I have written an little utility to simplify our QA of what files have changed from one release to another. I have been using the P4COM interface from Delphi. So far so good.

I though it might be nice to allow users to view the diff between the two versions of the file from within my little utility rather than going back to p4v. So I print (get) the files at each revision using p4COM and the following command

print -o "E:DevelopmentTempProjectsp4Changes empFile_dispatch.pas#25" "//depot/mydepotpath/File_dispatch.pas"#25

and

print -o "E:DevelopmentTempProjectsp4Changes empFile_dispatch.pas#26" "//depot/mydepotpath/File_dispatch.pas"#26

However when I do this from my app using P4COM I seem to get random files (and they appear to be deleted ones). If I run the exact same command from the command line I get perfect results. Running both of these does return a file and correctly dumps it to disk where I want it, its just not the file I've asked for.

Any ideas?

</div
        

Список ответов

0
 
vote
vote
Лучший ответ
 

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

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

 

You're probably better of asking this to Perforce support itself, as this sounds like a bug in their software.

As a sidenote : Why do you use p4v? (I hugely prefer p4win myself)

</div
 
 
   
   
1
 
vote

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

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

 

Could it be a backslash issue in the command string? This would work fine at the command line, but a single backslash may be being interpreted as an escape code by whatever language compiler you are using (if C or C++, then this will definitely cause a problem, and that maybe happening under the hood on the P4COM side).

Try using double backslashes and see if that fixes it.

</div
 
 

Связанный проблема

35  Насколько тяжело мигрировать проект из Delphi 7 в Delphi Xe?  ( How hard is it to migrate a project from delphi 7 to delphi xe ) 
У нашей компании есть программное обеспечение, которое было в разработке более 10 лет, поэтому там есть некоторые действительно встречающиеся там. Это все еще ...

5  Как скрыть «не пользовательские кадры стека» в окне стека Call Delphi Call?  ( How to hide non user stack frames in delphi call stack window ) 
Можно ли скрыть / коллапсировать кадры стека, у которых нет исходного кода, а соответственно, не помечены этими голубыми точками, в стеке вызовов Delphi? Пр...

5  Почему Tmediaplayer задерживает заголовок, изменяющийся на TPanel?  ( Why does tmediaplayer delay a caption changing on a tpanel ) 
Я начинающий программист, поэтому извиняюсь, если это звучит очень простой для вас. У меня есть процедура, которая выглядит (по существу), как это: <код> pr...

5  Delphi - пытаясь получить Stacktrace для исключения  ( Delphi trying to get stacktrace for an exception ) 
У меня есть регистратор исключения, который регистрирует все исключения в файл журнала: <код> class function TLogger.LogException (ACaller: String; E: Excep...

3  Прошедшая первая база с пунктами TortoiseSVN  ( Getting past first base with tortoisesvn ) 
Хорошо, я был убежден, что SVN - это способ пойти в предыдущая публикация , но я еще не видел эпопания. Я не уверен, как я устанавливаю подрыв для моей среды...

0  Delphi: Показать назначенный кадр к узлу вида дерева  ( Delphi show assigned frame to node of tree view ) 
У меня нет опыта с кадрами. Как использовать вид дерева с кадрами? Мне нужно переключиться среди кивок вида дерева и показать назначенный кадр на выбранный ...

5  Delphi Удалить Форма Тень  ( Delphi remove form shadow ) 
Я использую Delphi Berlin, у меня есть основная форма, и я открываю другие формы из главного меню в моей основной форме, я не использую Forms MDI Я хочу отк...

11  Не могу удалить элементы управления в Delphi Xe7  ( Cant delete controls in delphi xe7 ) 
Просто установил delphi xe7. Открыл проект, разработанный с XE7. Боковая заметка, но моя первая озабоченность заключается в том, что все заставляет IDE вешать...

16  С каким кодом Delphi я должен заменить мои звонки в устаревший метод Thhread Suspend?  ( With what delphi code should i replace my calls to deprecated tthread method sus ) 
Это спросило раньше, но Без полного ответа . Это связано с так называемой известной «роковой резьбой»! ». Мне нужно заменить этот вызов tthread.suspend с ч...

3  Как обнаружить прекращение программы в Android?  ( How to detect the termination of a program in android ) 
Когда программа Windows заканчивает ее, вызывает обработчики событий, такие как наклонная, ондеровская и разрушитель разрушитель. Когда я хочу сохранить некот...

117  Узнайте, какой процесс зарегистрировал глобальную горячую клавишу? (Windows API)  ( Find out what process registered a global hotkey windows api ) 
Насколько мне удалось выяснить, Windows не предлагает функцию API, чтобы сказать, какое приложение зарегистрировало глобальную горячую клавишу (через Register...

1  Delphi: Воспроизвести файл MP4 с помощью DSPack  ( Delphi play mp4 file using dspack ) 
Я играю вокруг с dspack, он может играть в файлы AVI и WMV, но он не играет файлов MP4. Я установил FFDShow Codec, но все же он не будет играть любой другой ф...

1  ЮНА-Mapping Delphi Функция  ( Jna mapping delphi function ) 
<Р> Как я отобразить эту функцию с ЮНА: <Р> Delphi код: <код> function getData(InData1: PChar; InData2: PChar; Data: TAr...

2  Не может выполнить эту операцию на закрытом наборе данных  ( Cannot perform this operation on a closed dataset ) 
Я просто пытаюсь выполнить оператор SQL Selection SQL с помощью компонента TADOQUERY, но когда запись «Open» TaDoQuery выполняется, я получаю последую ошибки:...

0  Delphi FMX Hanvas Alpha Channel Дает неправильную прозрачность  ( Delphi fmx canvas alpha channel give wrong transparency ) 
Я хочу добавить прозрачные и частично прозрачные области на изображении .bitmap. Я обнаружил, что регионы прозрачности не влияют, как и ожидалось: Части RGB т...

Связанный проблема

35  Насколько тяжело мигрировать проект из Delphi 7 в Delphi Xe? 
5  Как скрыть «не пользовательские кадры стека» в окне стека Call Delphi Call? 
5  Почему Tmediaplayer задерживает заголовок, изменяющийся на TPanel? 
5  Delphi - пытаясь получить Stacktrace для исключения 
3  Прошедшая первая база с пунктами TortoiseSVN 
0  Delphi: Показать назначенный кадр к узлу вида дерева 
5  Delphi Удалить Форма Тень 
11  Не могу удалить элементы управления в Delphi Xe7 
16  С каким кодом Delphi я должен заменить мои звонки в устаревший метод Thhread Suspend? 
3  Как обнаружить прекращение программы в Android? 
117  Узнайте, какой процесс зарегистрировал глобальную горячую клавишу? (Windows API) 
1  Delphi: Воспроизвести файл MP4 с помощью DSPack 
1  ЮНА-Mapping Delphi Функция 
2  Не может выполнить эту операцию на закрытом наборе данных 
0  Delphi FMX Hanvas Alpha Channel Дает неправильную прозрачность 



© 2021 www.qaru.top All Rights Reserved. Q&A House все права защищены


Licensed under cc by-sa 3.0 with attribution required.