AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Standort Comand Line Compiler (DCC32.exe) ermitteln
Thema durchsuchen
Ansicht
Themen-Optionen

Standort Comand Line Compiler (DCC32.exe) ermitteln

Ein Thema von Harry Stahl · begonnen am 5. Mär 2016 · letzter Beitrag vom 6. Mär 2016
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Harry Stahl
Harry Stahl

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

Standort Comand Line Compiler (DCC32.exe) ermitteln

  Alt 5. Mär 2016, 01:19
Bin gerade dabei, mein Editor-Programm in der Art zu erweitern, dass es ganze Delphi-Projekte einlesen und Source- und DFM-Formulare anzeigen kann.

Das brauche ich, weil ich hin und wieder etwas in einem älteren Projekt nachsehen möchte, wie ich etwas gemacht habe. Mitunter weiß ich aber nicht, mit welcher Delphi-Version ich das Projekt zuletzt erstellt habe.

Um nun zu vermeiden, dass Delphi mich nervt, weil ich mit einer falschen Delphi-Version das Projekt öffne oder Komponenten fehlen usw., kann ich die Projekte nun mit meinem Programm öffnen (siehe anliegenden Screenshot) und es erkennt zumindest alle Versionen von Delphi 5 bis Delphi 10 Seattle korrekt.

Hin und wieder existiert die dazugehörige Exe-Datei nicht mehr, entweder weil ich mal aufgeräumt habe oder z.B. hier ein Demo-Projekt aus der DP herunterlade, wo die EXE oft fehlt.

Wenn ich das Projekt schon einmal mit meinem Editor-Programm geladen habe, würde ich es auch ganz gerne kurz kompilieren, ohne dafür nach Delphi wechseln zu müssen.

Das sollte ich ja per Einbindung des Kommando-Zeilen Compilers von Delphi machen können (DCC32.EXE).

Nur wie finde ich den Standort der DCC32.EXE heraus? Zwar sind mit die Standard-Verzeichnisse von Delphi durchaus bekannt, aber ein anderer Anwender könnte ein Delphi ja mal in einem anderen Verzeichnis installiert haben.

Daher meine Frage: Gibt es irgendeinen Registry-Eintrag, wo ich entweder den Standort der (JEWEILIGEN) DCC32.exe rauslesen kann oder das BIN-Verzeichnis, wo ja die DCC32.exe drin sein müsste?

Könnte mir vorstellen, dass es wegen Wechsel über Borland, CodeGear, Emba verschiedene Einträge gibt? Kennt jemand eine entsprechende Übersicht / Info hierzu. Habe natürlich gegoogelt und hier in der DP gesucht, aber dazu nichts richtiges gefunden.

Edit: In dem Zusammenhang noch eine Frage: Gibt es eine Option, dass der Compiler nach erfolgreicher Kompilierung das Programm direkt startet?
Miniaturansicht angehängter Grafiken
editor-main.jpg  

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

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

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

  Alt 5. Mär 2016, 01:32
https://theroadtodelphi.wordpress.co...lphi-versions/ sollte helfen
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

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

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

  Alt 5. Mär 2016, 01:39
Super, ganz herzlichen Dank

Genau das habe ich gesucht.
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

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

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

  Alt 5. Mär 2016, 02:28
Na sagen wir mal: fast.

Ein "C:\D5\Borland" Installationsverzeichnis für Delphi 5 wird nicht gefunden.

Eigentlich seltsam,

die Funktion
Delphi-Quellcode:
function RegReadStr(const RegPath, RegValue:string; var Str: string;const RootKey :HKEY): Boolean;
var
  Reg: TRegistry;
begin
  try
    Reg := TRegistry.Create;
    try
      Reg.RootKey := RootKey;
      Result := Reg.OpenKey(RegPath, True);
      if Result then Str:=Reg.ReadString(RegValue);
    finally
      Reg.Free;
    end;
  except
    Result := False;
  end;
end;
liefert für Result=Reg.Openkey ('\Software\Borland\Delphi\5.0')

zwar True zurück, aber beim

Reg.Readstring (RegValue ='App')

ist der Inhalt leer (obwohl in der Registry "C:\D5\Borland\Delphi5\Bin\Delphi32.exe" drin ist).
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#5

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

  Alt 5. Mär 2016, 02:48
Hier gibt es von mir auch ein Projekt, das die dcc32.exe entsprechend aufruft:
http://www.entwickler-ecke.de/topic_...+20_41748.html
Wenn man diese benutzt, muss man ja auch die Pfade der entsprechenden Delphiversion übergeben usw., zudem wollte ich die farbliche Kennzeichnung in der Konsole.

Ich würde allerdings heute eher MSBuild verwenden, das das alles übernimmt. Oder meintest du das?
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

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

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

  Alt 5. Mär 2016, 03:00
Gibt es noch einen anderen Download-Link? Habe bei der Entwickler-Ecke keinen Account.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#7

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

  Alt 5. Mär 2016, 06:43
Bisher für dieses Projekt nicht, daher:
Delphi Batch Compiler 2.zip
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

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

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

  Alt 5. Mär 2016, 16:53
Erst mal Danke.

Du verwendest hier

function TCompileProcess.GetDelphiRootPath(const ADelphiVersion: string): string;

welche im Prinzip der Funktion entspricht, auf die Sir Rufo mich hingwiesen hat.

Auch die hier findet daher den Delphi 5 Standort nicht (der hier in "C:\D5\Borland\Delphi5\Bin" ist, was ich nach wie vor nicht verstehe.

Mein Windows 8.1 hier ist ein 64-Bit-System, aber die Umlenkung auf den WOW6432Node erfolgt doch normalerweise automatisch, oder?

Tatsächlich steht der Eintrag ja in "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Borland\D elphi\5.0".
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#9

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

  Alt 5. Mär 2016, 17:32
Hmm, komisch, hier funktioniert es. Genau dieser Zweig wird hier korrekt ausgelesen.

Schau doch einfach einmal mit dem Process Monitor.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

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

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

  Alt 5. Mär 2016, 17:52
Was genau sollte ich da schauen?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:27 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz