Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Es wird keine EXE erstellt (https://www.delphipraxis.net/199414-es-wird-keine-exe-erstellt.html)

kwhk 21. Jan 2019 22:32

Es wird keine EXE erstellt
 
Bei der Übernahme eines Projektes von Delphi 7 => 10.3 ist eigentlich alles OK Ich habe alle Anpassungen gemacht und kann fehlerfrei compilieren und erzeugen. In beiden Fällen wird jedoch keine EXE erstellt, deshalb kann ich auch kein DEBUG oder AUSFÜHREN machen.
Ich habe auf meinen sämtlichen Platten nach der EXE gesucht, aber nichts gefunden.
Ich habe schon einige Delphi 7 Programme auf 10.3 umgestellt, da gab es niemals ein so merkwürdiges Problem.

hoika 21. Jan 2019 22:38

AW: Es wird keine EXE erstellt
 
Hallo,
startet das Programm denn aus der IDE?

kwhk 21. Jan 2019 23:34

AW: Es wird keine EXE erstellt
 
Wenn ich starte, kommt folgende Fehlermeldung:
Prozess kann nicht erzeugt werden. Das System kann die angegebene Datei nicht finden.

Am Anfang habe ich das gar nicht bemerkt.
Ich hatte aus dem Delphi7-Bereich den Ordner in Delphi10.3 kopiert und damit auch die alte EXE.
Da konnte ich compilieren (wie jetzt auch ohne Fehlermeldung), gestartet wurde aber immer die alte EXE.
Ich habe mich gewundert, dass Änderungen am Programm nicht zu erkennen waren.
Dann habe ich die alte EXE gelöscht. Und nun startet nichts mehr.
Die EXE müsste ja in das Projekt-Verzeichnis erstellt werden.

Wenn ich in Projekt => Bereitstellung gehe, dann sehe ganz schwach sichtbar die eigentlich notwendige Zeile.

Lokaler Pfad (ist leer)
Lokaler Name (da steht der EXE-Name)
Typ (ProjectOutput)
Konfiguration (Debug)
Plattformen ([Win32])
Remotepfad (.\)
Remote-Name (wieder der EXE-Name)
Remote-Status (Nicht verbunden)
Überschreiben (Immer)

HolgerX 22. Jan 2019 04:32

AW: Es wird keine EXE erstellt
 
Hmm..

Hast Du beim Erstellen eine Meldung erhalten?
Mal in der Quarantäne deines Virus-Scanners nachgeschaut?

Ich habe an und ab eine Compilierung gemacht und das Ergebnis wurde vom Virenscanner als gefährlich eingestuft, obwohl da glaube ich nur eine Website mit INDY abgerufen wurde...

ConnorMcLeod 22. Jan 2019 06:37

AW: Es wird keine EXE erstellt
 
Bei mir sind alle Einstellungen gleich bis auf: Lokaler Pfad (angehakt)

hoika 22. Jan 2019 06:38

AW: Es wird keine EXE erstellt
 
Hallo,
was passiert bei einem neu erzeugten Projekt, startet das?

kwhk 22. Jan 2019 07:18

AW: Es wird keine EXE erstellt
 
Ich habe eine Menge von Projekten. Bei allen wird die EXE erstellt und ich kann das Programm starten, DEBUG-Modus einwandfrei.
Es wird irgendwie mit dem Import von Delphi7 zusammenhängen.

kwhk 22. Jan 2019 07:19

AW: Es wird keine EXE erstellt
 
Zitat:

Zitat von ConnorMcLeod (Beitrag 1423787)
Bei mir sind alle Einstellungen gleich bis auf: Lokaler Pfad (angehakt)

Der ist bei mir auch angehakt, obwohl die Zeile nur blasses grau anzeigt.

Uwe Raabe 22. Jan 2019 07:45

AW: Es wird keine EXE erstellt
 
Zitat:

Zitat von kwhk (Beitrag 1423791)
Es wird irgendwie mit dem Import von Delphi7 zusammenhängen.

Kannst du die dproj-Datei hier hochladen?

kwhk 22. Jan 2019 07:55

AW: Es wird keine EXE erstellt
 
Liste der Anhänge anzeigen (Anzahl: 1)
Die ZIP habe ich hochgeladen.
Ich habe auf meinem PC mehrere Windows Versionen parallel installiert.
Delphi 10.3 läuft unter Windows 10 (Pro 1809 64bit).
In meinem Win8.1Pro-64 habe ich noch Delphi 10.1 Berlin installiert.
Damit habe ich es probiert, der gleiche Effekt.
Fehlerfreies compilieren / Erstellen.
Keine EXE, kein Ausführen.

hoika 22. Jan 2019 07:55

AW: Es wird keine EXE erstellt
 
Hallo,
alles außer den pas/dfm/dpr löschen/verschieben und neu anlegen lassen.

kwhk 22. Jan 2019 08:43

AW: Es wird keine EXE erstellt
 
Hallo hoika !
Das war es !!! :-D
Nun wird wieder die EXE erstellt und funktioniert auch.
Vielen Dank für den Hinweis ! :!:

DP-Maintenance 22. Jan 2019 08:45

Dieses Thema wurde am "22. Jan 2019, 09:45 Uhr" von "Luckie" aus dem Forum "Programmieren allgemein" in das Forum "Die Delphi-IDE" verschoben.

Uwe Raabe 22. Jan 2019 09:03

AW: Es wird keine EXE erstellt
 
Probier mal, ob es funktioniert, wenn du in den Projektoptionen unter Anwendung die Erweiterung für die Zieldatei löschst.

kwhk 22. Jan 2019 10:40

AW: Es wird keine EXE erstellt
 
Hallo Uwe,
da stand keine Erweiterung, aber in einem Link habe ich gelesen, dass beim Import von Delphi 7 dort z.B. .EXE eingetragen werden soll. Das klappte aber auch nicht, weder mit noch ohne .EXE.

Nachdem ich die dproj u.a. neu erstellt habe, funktioniert es.
Ich habe die alte und neue mit WINDIFF verglichen, da sind ja jede Menge Unterschiede.

Das betreffende Programm habe ich bereits 2002 damals mit Delphi 3 programmiert, später über Delphi 5, 6 und 7 jeweils angepasst und nun mit Delphi 10.3. Wer weiß, was da noch für alte Informationen gespeichert waren, die Delphi 10.3 verwirrt haben.

Hier die neuen Dateien

Code:
D:\Delphi10RAD\HK\HkMp3Dir>dir
 Datenträger in Laufwerk D: ist Hi_D_2000
 Volumeseriennummer: CAD9-24CB

 Verzeichnis von D:\Delphi10RAD\HK\HkMp3Dir

22.01.2019  11:13    <DIR>         .
22.01.2019  11:13    <DIR>         ..
22.01.2019  09:37    <DIR>         #SI
22.01.2019  00:30               345 HkMp3Dir.dpr
22.01.2019  11:13            30.273 HkMp3Dir.dproj
22.01.2019  11:13                62 HkMp3Dir.dproj.local
22.01.2019  10:40         2.478.080 HkMp3Dir.exe
22.01.2019  11:13               170 HkMp3Dir.identcache
22.01.2019  10:34             2.476 HkMp3Dir.res
22.01.2019  11:13               167 HkMp3Dir.stat
22.01.2019  10:34             9.357 HkMp3DirAuswahl.dcu
22.01.2019  09:46             1.550 HkMp3DirAuswahl.dfm
22.01.2019  09:46             2.206 HkMp3DirAuswahl.pas
22.01.2019  10:34            25.534 HkMp3DirPgm.dcu
22.01.2019  10:35             1.950 HkMp3DirPgm.dfm
22.01.2019  10:28            23.584 HkMp3DirPgm.pas
21.01.2019  21:11               766 HkMp3Dir_Icon.ico
              14 Datei(en),     2.576.520 Bytes
               3 Verzeichnis(se), 1.147.874.422.784 Bytes frei
Und hier die alten (fehlerhaften)
Code:
D:\Delphi10RAD\HK\HkMp3Dir\#SI\1>dir
 Datenträger in Laufwerk D: ist Hi_D_2000
 Volumeseriennummer: CAD9-24CB

 Verzeichnis von D:\Delphi10RAD\HK\HkMp3Dir\#SI\1

22.01.2019  09:38    <DIR>         .
22.01.2019  09:38    <DIR>         ..
22.01.2019  09:38    <DIR>         #Loe
22.01.2019  00:30               345 HkMp3Dir.dpr
22.01.2019  08:06            30.984 HkMp3Dir.dproj
22.01.2019  08:06               392 HkMp3Dir.dproj.local
22.01.2019  08:50               170 HkMp3Dir.identcache
22.01.2019  08:06           326.490 HkMp3Dir.obj
22.01.2019  08:06             3.004 HkMp3Dir.res
22.01.2019  08:50               166 HkMp3Dir.stat
22.01.2019  08:06             8.932 HkMp3DirAuswahl.dcu
11.07.2013  16:45             1.534 HkMp3DirAuswahl.dfm
22.01.2019  08:06             7.863 HkMp3DirAuswahl.obj
21.01.2019  22:19             2.206 HkMp3DirAuswahl.pas
22.01.2019  08:06            24.945 HkMp3DirPgm.dcu
22.01.2019  08:50             1.922 HkMp3DirPgm.dfm
22.01.2019  08:06            19.883 HkMp3DirPgm.obj
21.01.2019  22:08            23.584 HkMp3DirPgm.pas
21.01.2019  21:11               766 HkMp3Dir_Icon.ico
22.01.2019  00:30                72 HkMp3Dir_project.tvsconfig
22.01.2019  00:30    <DIR>         ModelSupport_HkMp3Dir
              17 Datei(en),       453.258 Bytes
               4 Verzeichnis(se), 1.147.874.422.784 Bytes frei
Mir fällt auf, bei den alten Dateien gab es OBJ-Dateien aber keine EXE,
bei den neuen gibt es wieder eine EXE aber keine OBJ-Dateien.
War da irgendwo eingestellt, beim Compilieren sollen OBJ erstellt werden anstelle EXE ?
Kann man so etwas einstellen ?

########## Ergänzung 12:24

Ich habe das Projekt noch mal mit Delphi 7 aufgerufen und festgestellt, dass dort bei den Projekt-Optionen => Linker-Ausgabe ein Auswahlpunkt bei C-Objektdateien erzeugen gesetzt war.
Man kann alternativ auch DCUs erzeugen (das sollte eingestellt sein) und C++-Objektdateien erzeugen auswählen. Eine von den drei Möglichkeiten muss ausgewählt werden.
Bewusst habe ich das nicht gemacht. Delphi 7 erstellt trotz dieser Einstellung eine EXE und zusätzlich die OBJ-Dateien.

Diese Einstellung war offenbar die Ursache für das Fehlen der EXE, weil Delphi 10.3 diese Sache anders handhabt.

Bei 10.3 Projekt => Optionen => Erzeugen => Delphi-Compiler => Ausgabe - C/C++ => Erzeugung der C/C++-Ausgabedatei muss folgendes eingestellt sein: Nur DCUs erzeugen.

Uwe Raabe 22. Jan 2019 11:26

AW: Es wird keine EXE erstellt
 
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von kwhk (Beitrag 1423828)
da stand keine Erweiterung,

Also in der Datei, die du hochgeladen hast, schon! (siehe Bild 1)

Da dort auch ein Punkt vor dem EXE steht, wird auch eine HkMp3Dir..EXE erzeugt.

Zitat:

Zitat von kwhk (Beitrag 1423828)
War da irgendwo eingestellt, beim Compilieren sollen OBJ erstellt werden anstelle EXE ?
Kann man so etwas einstellen ?

Nicht anstelle, aber zusätzlich zu den DCUs. (siehe Bild 2)

kwhk 22. Jan 2019 20:35

AW: Es wird keine EXE erstellt
 
Hallo Uwe,
Danke für Deine Mühe.
Ich habe den folgenden Artikel gefunden
http://docwiki.embarcadero.com/RADSt...lease-Hinweise
und dort folgenden Hinweis betreff Delphi 7:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Upgrade von Delphi 7

Wenn Sie ein Upgrade eines in Delphi 7 oder einem anderen frühen Release erstellten Projekts ausführen und das Projekt über eine benutzerdefinierte Dateierweiterung verfügt, müssen Sie Projekt > Optionen > Anwendung wählen, und die Erweiterung der Zieldatei auf den mit Ihrem Projekt übereinstimmenden Typ setzen (.exe, .dll oder .bpl).
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Da stand ".EXE", also EXE mit einem Punkt.
Ich habe damit herumprobiert. EXE mit und ohne Punkt und ganz ohne einen Eintrag, so war es voreingestellt.
Es kann sein, dass zum Zeitpunkt als ich Datei hochgeladen habe, gerade .EXE eingestellt war.
Aber ganz egal, es wurde keine EXE erstellt, auch keine ..EXE, es wurden nur die OBJ-Dateien für C erstellt, wie es bei Delphi 7 versehentlich eingestellt war. Im Unterschied zu Delphi 7 wurde aber nicht zusätzlich die EXE trotz dieser Einstellung erstellt.

Bei Delphi 7 ist es mir deshalb nicht aufgefallen. Dass es OBJ-Dateien gab, war mir eigentlich egal. Es gab die EXE und darauf kam es an.

Für mich ergibt sich die Frage, für welche C/C++ Programme sind die OBJ-Dateien gedacht. Ich benutze auch C++ und C#, allerdings mit dem Visual Studio 2017 von MS. Kann man dort diese OBJ-Dateien benutzen ?
Man müsste ja dann auch OBJ-Dateien für C# erstellen können. C# gibt es ja auch seit mehreren Jahren. Es hat mehr Ähnlichkeiten mit Delphi als mit C++ oder C.

RAD Studio 10.3 kann auch C++ und C. Das habe ich bei mir aber nicht installiert, nur Delphi.

hoika 22. Jan 2019 21:21

AW: Es wird keine EXE erstellt
 
Hallo,
die OBJ-Dateien waren bestimmt für den C++-Builder.
Das Format ist je nach C/C++-Compiler natürlich inkompatibel ... ;)

Ein Abschluss-Test, ob das wirklich die Einstellung war,
wäre im alten Delphi die OBJ-Datei-Erzeugung zu deaktivieren und es dann auszuprobieren.

Dazu hätte ich aber persönlich keine Lust ;)

EWeiss 22. Jan 2019 21:37

AW: Es wird keine EXE erstellt
 
Zitat:

Kann man dort diese OBJ-Dateien benutzen ?
Die frage wäre was willst du damit.

OBJ-Dateien (vom Compiler generierter Maschinencode) werden benötigt für den Linker um daraus exe Dateien erstellen zu können.
Es ist aber nicht nötig diese erzeugen zu lassen das macht der Compiler in Delphi denke ich mal im Speicher. (In VB6 werden sie auf die Platte gespeichert und nach dem erstellen der EXE automatisch gelöscht)

Leider wurde das Extension von anderen Programmen missbraucht von Wavefront Technologies zum Beispiel so das man nicht mehr mit Bestimmtheit sagen kann für was die Endung eigentlich steht.

gruss

Uwe Raabe 22. Jan 2019 23:18

AW: Es wird keine EXE erstellt
 
Zitat:

Zitat von EWeiss (Beitrag 1423925)
OBJ-Dateien (vom Compiler generierter Maschinencode) werden benötigt für den Linker um daraus exe Dateien erstellen zu können.
Es ist aber nicht nötig diese erzeugen zu lassen das macht der Compiler in Delphi denke ich mal im Speicher.

Der Delphi Compiler benötigt für Delphi-Projekte keine OBJ-Dateien sondern erzeugt direkt DCU Dateien. Auch der Linker benötigt in diesem Fall keine OBJ-Dateien, sondern kann direkt mit den DCU Dateien arbeiten.

Die OBJ-Dateien können beim Compilieren aber (optional) zusätzlich erzeugt werden, falls diese für den C++ Builder benötigt werden. Damit können auch C++ Projekte auf Delphi-Units zurückgreifen. Die gesamte RTL/VCL/FMX wird auf diese Weise für den C++ Builder bereit gestellt.

Das Abschalten der OBJ-Erzeugung hat in manchen Fällen den Vorteil, daß C++ spezifische Warnungen nicht mehr ausgegeben werden. Wenn man also den C++ Builder nicht verwendet, kann man die OBJ-Erzeugung einfach abschalten und erhält weniger Warnungen, eine leicht bessere Performance und es wird weniger Plattenplatz verschwendet.

C++-Objektdatei

EWeiss 22. Jan 2019 23:22

AW: Es wird keine EXE erstellt
 
Zitat:

Der Delphi Compiler benötigt für Delphi-Projekte keine OBJ-Dateien sondern erzeugt direkt DCU Dateien
OK.. Dann lag ich wohl falsch was Delphi betrifft.
Die kochen dann wieder ihr eigenes Süppchen.

gruss

kwhk 23. Jan 2019 07:02

AW: Es wird keine EXE erstellt
 
Ich habe es an einem anderen 10.3 Projekt mal ausprobiert...
Bei Projekt => Optionen => Erzeugung der C/C++-Ausgabedatei : C.objs erzeugen einstellen.
Fazit: Es werden OBJ-Dateien erzeugt, aber keine EXE.

Danach wieder zurückstellen auf Nur DCUs erzeugen
Und nun: Es wird keine OBJ- jedoch die EXE-Datei erstellt.

Das kann jeder ganz einfach ausprobieren. (Probieren geht über Studieren)

Irgendwie erscheint mir diese Arbeitsweise auch logisch.
Wenn ich OBJ-Dateien für C++ erstellen will, dann handelt es sich um Proceduren/Funktionen für das C++ Programm und nicht um eine lauffähige EXE.
Delphi 7 hat bei dieser Einstellung die OBJ-Dateien zusätzlich zur EXE erzeugt, so wie Uwe es in #20 auch sagt, das ist aber bei Delphi 10 nicht (mehr) so.

haentschman 23. Jan 2019 07:50

AW: Es wird keine EXE erstellt
 
Moin...:P
Code:
D:\Delphi10RAD\HK\HkMp3Dir>dir
 Datenträger in Laufwerk D: ist Hi_D_2000
 Volumeseriennummer: CAD9-24CB

 Verzeichnis von D:\Delphi10RAD\HK\HkMp3Dir

22.01.2019  11:13    <DIR>        .
22.01.2019  11:13    <DIR>        ..
22.01.2019  09:37    <DIR>        #SI
22.01.2019  00:30               345 HkMp3Dir.dpr
22.01.2019  11:13            30.273 HkMp3Dir.dproj
22.01.2019  11:13                62 HkMp3Dir.dproj.local
22.01.2019  10:40         2.478.080 HkMp3Dir.exe
22.01.2019  11:13               170 HkMp3Dir.identcache
22.01.2019  10:34             2.476 HkMp3Dir.res
22.01.2019  11:13               167 HkMp3Dir.stat
22.01.2019  10:34             9.357 HkMp3DirAuswahl.dcu
22.01.2019  09:46             1.550 HkMp3DirAuswahl.dfm
22.01.2019  09:46             2.206 HkMp3DirAuswahl.pas
22.01.2019  10:34            25.534 HkMp3DirPgm.dcu
22.01.2019  10:35             1.950 HkMp3DirPgm.dfm
22.01.2019  10:28            23.584 HkMp3DirPgm.pas
21.01.2019  21:11               766 HkMp3Dir_Icon.ico
              14 Datei(en),    2.576.520 Bytes
               3 Verzeichnis(se), 1.147.874.422.784 Bytes frei
Alle Dateien (exe, dpr, dcu, dfm, pas) in einem Ordner ist eher kontrapoduktiv. :? Wir hatten hier mal eine Thread warum das so ist. (u.a. die verschiedenen Plattformen).
Wenn ich den Link finde, hänge ich ihn an. :wink:

Uwe Raabe 23. Jan 2019 07:56

AW: Es wird keine EXE erstellt
 
Zitat:

Zitat von kwhk (Beitrag 1423933)
Bei Projekt => Optionen => Erzeugung der C/C++-Ausgabedatei : C.objs erzeugen einstellen.
Fazit: Es werden OBJ-Dateien erzeugt, aber keine EXE.

Das ist korrekt und deckt sich auch mit der Dokumentation (wobei der dortige Hinweis auf die Standardeinstellung wohl noch falsch ist).

Nur bei den Optionen "Nur DCUs erzeugen" und "Alle C++ Builder-Dateien erzeugen" (angeblich Standard) werden auch die Delphi-Dateien mitsamt der EXE erzeugt. Alle dazwischen liegenden "C objs erzeugen" Optionen sind ausschließlich für die Weiterverarbeitung durch den C++ Builder relevant.

Offenbar wird beim Upgrade eines Delphi 7 Projekts hier eine falsche Option eingestellt.

orbi 26. Jan 2019 10:58

AW: Es wird keine EXE erstellt
 
Das Problem hatte ich auch und zwar mehrfach! Geholfen hat einfaches Löschen der bisherigen Exe-Datei, Überschreiben hat offensichtlich nicht funktioniert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:19 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