Moin, Moin.
Für ein kleines Tool benötige ich den Verzeichnispfad zum Delphikommandozeilencompiler (uiii, langes Wort).
Zuerst hab ich hierzu die Umgebungsvariable "DELPHI" ausgelesen. Das funktionierte in den ersten Tests einwandfrei. Um so überraschter war ich, als das Tool gestartet wurde ohne das gleichzeitig die Delphi
IDE gestartet war: In dieser Konstellation konnte das Tool die Umgebungsvariable nicht mehr ermitteln. Ich gehe daher davon aus, dass die Umgebungsvariable nur temporär während der Laufzeit der
IDE existiert.
Nun gut, dachte ich: Dann schauen wir eben in der Registry nach. Natürlich ist der Pfad dort abgelegt. Der Schlüssel "HKEY_LOCAL_MACHINE\SOFTWARE\Borland\Delphi\7.0\Ro otDir" enthält den gesuchten Pfad - egal ob die
IDE gestartet ist oder nicht.
Sehr schön, das könnte die Lösung sein!
Aber näher betrachtet, ist das keine besonders gute Lösung, oder? Der Schlüssel gilt nur für Delphi Version 7 (..\Delphi\7.0\..) Auch wenn ich derzeit nicht beabsichtige mir kurzfristig eine andere Version zu kaufen, wäre mir eine allgemeingültige Version lieber.
Als erster Lösungsanstz kommt mir nun in den Sinn alle Schlüssel unterhalb von "..\Delphi" einzulesen und zu prüfen, ob ein Schlüssel mit einer Zahl beginnt. Das können aber offenbar auch mehrere sein. Bei meiner Suche in der Registry habe ich in eben diesem Abschnitt noch einen Eintrag meiner inzwischen deinstallierten Delphi Version 5 gefunden. Hmmm...
Frage an die Experten:
Gibt es eine alternative, bessere Lösung?
Kann ich mit einiger Sicherheit davon ausgehen, dass der Schlüssel "Rootdir" immer nach dieser Systematik zu finden ist?