SourceSafe Anbindung im Programm -> wie Fehler auswerten

Spyke

Premium-User
Hi,
mittels VSSDatabaseClass bau ich eine Verbindung zu SourceSafe auf.
Mittels IVSSItem.Get fordere ich eine Datei aus SoruceSafe an.

http://msdn.microsoft.com/de-de/lib...o.sourcesafe.interop.ivssitem.get(VS.80).aspx

Mein Problem ist wenn diese Datei bereits durch ein anderes Programm gesperrt ist.
Kommt keine Fehlermeldung nixs, es läuft einfach weiter, was eigentlich nicht sein kann.

Die Methode selbst liefert nur void zurück, intern aber HRESULT.
Weiß jemand ob ich irgendwie auf das HRESULT komme?

GetLastWin32Error hat nichts gebracht und GetErrorInfo ebenfalls nichts.

Natürlich könnte ich die Datei auch selbst prüfen, aber wer sagt mir das nicht auch noch andere Sachen utnerdrückt werden.
 
Aber was erwartest du für eine Fehlermeldung? :confused:
Die Methode macht nur ein Get, KEIN Checkout. Únd eine Datei, die ausgecheckt ist, kann trotzdem von einem anderen Client "gegettet" werden.
Beim Checkout sollte jedoch ein Fehler kommen (Voraussetzung: Multiple Checkouts deaktiviert)
 
Hallo Spyke,

mein Vorschlag: vor dem Holen der Datei den VSSItem.IsCheckedOut-Zustand prüfen und nur in Abhängigkeit davon die Datei laden

siehe hier:
http://msdn.microsoft.com/de-de/lib...afe.interop.ivssitem.ischeckedout(VS.80).aspx

PS: hättest eigentlich nur dem Link aus deinem Verweis folgen brauchen ;)

Gruß Steffen

Das prüfe ich eh ab.

Allerdings mache ich mir meine Gedanken, wenn er nicht mal meckert das eine Datei gesperrt ist.
Was für Fehlermeldungen bekommen ich ev. noch nicht mit.

@Nico am liebsten wäre mir direkt ne Exception aber nicht mal die bekomme ich.
Das Programm läuft weiter als wenn nichts wäre.

Warum auch immer die Datei gesperrt ist, ist hierbei nebensächlich.

Off Topic:
Die Schnittstellen sind eh komisch, rufe ich vorher eine Datei mit Get ab und mache dann sofort ein Checkout lädt der garnichts runter :rolleyes:
 
Nochmal:
Was für eine Exception erwartest du beim Get? Du greifst nicht aktiv (schreibend) auf die Datei zu!
Ein Fehler sollte wenn dann beim Checkout kommen (siehe Bedingung von oben).
Zu Problem 2: Wann wird in dem Fall nix geladen? Beim Get oder Checkout?
 
1. Im Prinzip will ich wissen ob ich irgendwie an das HRESULT ran kommen kann.
Und ich greife doch eigentlich auf die Datei zu, mit Get will ich ja die Datei runterladen. :confused:

2. Es wird nixs geladen wenn ich Get und Checkout zusammen aufgerufen hatte.
Aber das war nur am Rande, hatte halt Get immer aufgerufen. Jetzt prüf ich halt ob Get oder Checkout.
 

Neue Beiträge

Zurück