Einzelnen Beitrag anzeigen

Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.538 Beiträge
 
Delphi 11 Alexandria
 
#19

AW: Standort Comand Line Compiler (DCC32.exe) ermitteln

  Alt 6. Mär 2016, 01:23
Jedenfalls, funktioniert es jetzt soweit ohne Manifest, werde morgen mal ein aktuelles einbinden und dann mal sehen.

Hinweis @ Jaenicke: In Deinem Programm wurde Delphi 5 nicht gefunden, weil der Eintrag nicht unter current_user zu finden war, sondern unter local_machine.

Dein Programm müsste man also so erweitern, dass es den Pfad auch unter diesen Bedingungen findet:

Delphi-Quellcode:
function TCompileProcess.GetDelphiRootPath(const ADelphiVersion: string): string;
var
  Reg: TRegistry;
begin
  Result := '';
  if FRegistryPath = 'then
    FRegistryPath := GetRegistryPath(ADelphiVersion, True);
  Reg := TRegistry.Create(KEY_READ);
  try
    Reg.RootKey := HKEY_CURRENT_USER;
    if Reg.OpenKeyReadOnly(FRegistryPath) then
    begin
      Result := ExtractFilePath(Reg.ReadString('App'));
      Reg.CloseKey();
    end;

    if Result = 'then // neu hier
    begin
      Reg.RootKey := HKEY_LOCAL_MACHINE;
      if Reg.OpenKeyReadOnly(FRegistryPath) then
      begin
        Result := ExtractFilePath(Reg.ReadString('App'));
        Reg.CloseKey();
      end;
    end;

  finally
    Reg.Free();
  end;
end;
Übrigens compiliert das Programm bei Deiner Lösung nicht, weil es offensichtlich eine Reihe von Pfadangaben auflöst. Allerdings stimmen davon einige nicht mehr und dann bricht der Compiler ab.

Ich verwende daher nur den reinen Compileraufruf, seltsamerweise compiliert er, obwohl 2 Units in anderen Verzeichnissen stehen (die könnte der Compiler aber auflösen, aus den Angaben der Projektdatei (dpr)).

Dank Deines Beispiels habe ich gesehen, wie man den output des Compilers (das in Deinem Programm ja in ein Konsolenfenster geht) abfangen kann. Habe ich bei mir so gelöst, dass ich das in meinem Programm in ein Memo ausgebe.

Der Output erscheint mir aber etwas seltsam (siehe anliegenden Screenschot unten).
Miniaturansicht angehängter Grafiken
editor2.jpg  

Geändert von Harry Stahl ( 6. Mär 2016 um 01:26 Uhr)
  Mit Zitat antworten Zitat