AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Es wird keine EXE erstellt

Ein Thema von kwhk · begonnen am 21. Jan 2019 · letzter Beitrag vom 26. Jan 2019
Antwort Antwort
Seite 2 von 3     12 3   
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#11

AW: Es wird keine EXE erstellt

  Alt 22. Jan 2019, 07:55
Hallo,
alles außer den pas/dfm/dpr löschen/verschieben und neu anlegen lassen.
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von kwhk
kwhk

Registriert seit: 25. Mär 2009
Ort: Dresden
168 Beiträge
 
Delphi 10.3 Rio
 
#12

AW: Es wird keine EXE erstellt

  Alt 22. Jan 2019, 08:43
Hallo hoika !
Das war es !!!
Nun wird wieder die EXE erstellt und funktioniert auch.
Vielen Dank für den Hinweis !
Hartmut
  Mit Zitat antworten Zitat
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.
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.993 Beiträge
 
Delphi 12 Athens
 
#14

AW: Es wird keine EXE erstellt

  Alt 22. Jan 2019, 09:03
Probier mal, ob es funktioniert, wenn du in den Projektoptionen unter Anwendung die Erweiterung für die Zieldatei löschst.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von kwhk
kwhk

Registriert seit: 25. Mär 2009
Ort: Dresden
168 Beiträge
 
Delphi 10.3 Rio
 
#15

AW: Es wird keine EXE erstellt

  Alt 22. Jan 2019, 10:40
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.
Hartmut

Geändert von kwhk (22. Jan 2019 um 11:38 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.993 Beiträge
 
Delphi 12 Athens
 
#16

AW: Es wird keine EXE erstellt

  Alt 22. Jan 2019, 11:26
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.

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)
Miniaturansicht angehängter Grafiken
22-01-_2019_12-19-08.png   22-01-_2019_12-22-03.png  
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von kwhk
kwhk

Registriert seit: 25. Mär 2009
Ort: Dresden
168 Beiträge
 
Delphi 10.3 Rio
 
#17

AW: Es wird keine EXE erstellt

  Alt 22. Jan 2019, 20:35
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.
Hartmut

Geändert von kwhk (22. Jan 2019 um 20:41 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#18

AW: Es wird keine EXE erstellt

  Alt 22. Jan 2019, 21:21
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
Heiko
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#19

AW: Es wird keine EXE erstellt

  Alt 22. Jan 2019, 21:37
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

Geändert von EWeiss (22. Jan 2019 um 22:00 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
10.993 Beiträge
 
Delphi 12 Athens
 
#20

AW: Es wird keine EXE erstellt

  Alt 22. Jan 2019, 23:18
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
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:28 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