views:

139

answers:

2

Hi

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:\Development\TempProjects\p4Changes\temp\File_dispatch.pas#25" "//depot/mydepotpath/File_dispatch.pas"#25

and

print -o "E:\Development\TempProjects\p4Changes\temp\File_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?

A: 

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)

PatrickvL
I use p4v because it is a better product than p4win. It works better, it has more features and once you adjust the the different terms is a much more productive product.Also p4win wont be supported for much longer by perforce.
Toby Allen
I'm sorry to hear that, since my preference goes to p4win; It fits more to the bare-bones, classic windows interfaces I'm used to - you'll find no Vista on any of my desktops ;-)
PatrickvL
+1  A: 

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.

Greg Whitfield