Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Verhindern das beim Erstellen ALLE dcu erzeugt werden (https://www.delphipraxis.net/176172-verhindern-das-beim-erstellen-alle-dcu-erzeugt-werden.html)

DelTurbo 16. Aug 2013 12:18

Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Hi,
ich weiss nicht genau, aber ich meine das war bei meinem Delphi nicht immer so. Wenn ich nun auf Erzeugen klicke, erstellt er alle DCUs neu. Ausser die, die mitgeliefert werden. z.b. Form, Windows, Sysutils usw.

Aber Indy, LMD, Overbyte etc. werden alle neu erstellt. Das dauert natürlich, und da nix an den Sourcen geändert wurde ist es auch Blödsinn.

Was mache ich nun wieder falsch?

Vielen dank im voraus

Sherlock 16. Aug 2013 12:32

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Ich denke, es liegt daran, wie Du die Komponenten mit Sources erzeugt/installiert hast, und ob Du Release oder Debug erzeugst. Ich glaube, die Antwort auf diese Frage bei SO beantwortet auch Deine. Hab ich zumindest so im Gefühl.

Sherlock

Stevie 16. Aug 2013 12:36

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Zitat:

Zitat von Sherlock (Beitrag 1225126)
Ich denke, es liegt daran, wie Du die Komponenten mit Sources erzeugt/installiert hast, und ob Du Release oder Debug erzeugst. Ich glaube, die Antwort auf diese Frage bei SO beantwortet auch Deine. Hab ich zumindest so im Gefühl.

Ich wünschte, an diese Konventionen (sind die irgendwo offiziell dokumeniert?) würden sich alle halten - wie oft ich schon gesehen hab, dass man einfach mal neben die sourcen kompiliert :wall:

DelTurbo 16. Aug 2013 12:54

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Ich habe die Sachen so installiert wie die jeweiligen packete es wollten. Wenn ich die Antwort da lese, dann habe ich das dumme gefühl das ich ALLE 3rd Komponenten neu installieren darf. Und zwar die Pas-Files getrennt von den Dcu-Files.

Ist das richtig? Wenn ich ganz ehrlich bin, verstehe ich dann nicht warum die 3rd-sachen so "ausgeliefert" werden.

Stevie 16. Aug 2013 12:57

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Zitat:

Zitat von DelTurbo (Beitrag 1225132)
Ich habe die Sachen so installiert wie die jeweiligen packete es wollten. Wenn ich die Antwort da lese, dann habe ich das dumme gefühl das ich ALLE 3rd Komponenten neu installieren darf. Und zwar die Pas-Files getrennt von den Dcu-Files.

Ist das richtig? Wenn ich ganz ehrlich bin, verstehe ich dann nicht warum die 3rd-sachen so "ausgeliefert" werden.

Neu installieren nicht, aber bei den entsprechenden Paketen die Dateien entsprechend den Hinweisen aus der SO Antwort verschieben und die Pfade anpassen.
Weil viele 3rd Party Sachen sich nicht an diese (sinnvollen aber leider nicht allgegenwärtigen) Konventionen halten.

DelTurbo 16. Aug 2013 13:02

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Vielen dank für die Hilfe. Ich möchte sowieso auf 64bit umsteigen. Dann mache ich das in einem.

DelTurbo 28. Aug 2013 09:25

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Hi,
ich bin nun umgestiegen und wollte es so installieren wie es in SO steht. Leider finde ich folgenden teil nicht. Das heisst, die DCU´s werden zwar nichtmehr erstellt, aber ich kann leider nicht z.b. eine Deklaration suchen. Geht das mit 2007 nicht, oder mache ich was falsch?

Danke im voraus

Zitat:

EDIT: If you take this approach, and want to have code browsing (Ctrl+Click) working; please take note that when you compile release version of packages, you must set Symbol Reference Info in "Project | Options | Delphi Compiler | Compiling" to "Reference Info"; otherwise, Ctrl+Click won't work for those units. By default, Release build configuration sets Symbol Reference Info to None.

mkinzler 28. Aug 2013 09:36

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Erzeugen bedeutet das alle erstellt werden. Wenn du nur die geänderten neu erstellen lassen willst musst Du Compilieren auswählen

DelTurbo 28. Aug 2013 09:47

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Aber ich muss es ja mal erstellen. Sonst wird die Buildnummer nicht hochgezählt.

Ich habe grade Jedi installiert. Da klappt es. Egal ob ich nur Compilieren oder Erstelle, die DCUs werden nicht neu erzeugt.

mkinzler 28. Aug 2013 09:48

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Alles, was im Bibliothekpfad ist, wird neu erzeugt; was nur im Suchpfad ist nicht.

DelTurbo 28. Aug 2013 10:06

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Das habe ich schon gemerkt. Es geht ja darum, das ich, so wie es oben steht, nicht mit Ctrl+Klick auf eine Unit, den Quelltext angezeigt bekomme. Aber ich finde das nicht was ich ändern muss. Das was da in englisch steht finde ich nicht.

Es geht nur wenn ich den Path mit den Sourcen in den Bibliothekpfad mit reinnehme. Aber dann werden wieder die Units erzeugt und in den Sourcepath gelegt.

Irgendwas muss ich doch falsch machen?!?

DelTurbo 28. Aug 2013 11:33

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Ich habe bis jetzt getestet. Es ist Definitiv so, das ich den Pfad mit dem QuellCode in den Bibliothekpfad mit reinnehmen muss. Dann kann ich das auch aus dem Suchpfad entfernen und er findet die Units wenn ich mit CTRL draufklicke.

Aber dann werden halt immer die DCUs erzeugt.

Hat jemand eine idee wieso das so ist? Das ist doch falsch, oder meine ich das nur?

Vielen dank im voraus

mkinzler 28. Aug 2013 11:34

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Das ist as-Designed.

DelTurbo 28. Aug 2013 11:38

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Zitat:

Zitat von mkinzler (Beitrag 1226482)
Das ist as-Designed.

Ist nett das du mir versuchst du helfen. Aber den Satz verstehen ich nicht. Sorry. Ich bin sicher nicht so tief in der Materie wie du. :?

mkinzler 28. Aug 2013 11:39

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Das Verhalten wurde vom Hersteller so festgelegt.

DelTurbo 28. Aug 2013 11:45

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Achso, dann verstehe ich das Post auf SO nicht. Da steht ja, es würde gehen wenn ich dir DCUs in einen seperaten Ordner legen würde.

Wie gesagt, leider verstehe ich den abschnitt nicht den ich gepostet habe. "Projekt/Optionen/Compiler" ist mir schon klar. Aber Reference Info "finde" ich nicht.

Gruß und nochmal danke für die hilfe

Uwe Raabe 28. Aug 2013 13:08

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Zitat:

Zitat von DelTurbo (Beitrag 1226489)
Wie gesagt, leider verstehe ich den abschnitt nicht den ich gepostet habe. "Projekt/Optionen/Compiler" ist mir schon klar. Aber Reference Info "finde" ich nicht.

Auf Deutsch heißt das "Symbolreferenzinfo" und steht unter "Delphi-Compiler/Compilieren/Debuggen". Bei den dortigen Einstellungen hast du die Wahl zwischen "Ohne", "Nur Definitionen" und "Referenzinfo".

DelTurbo 28. Aug 2013 14:00

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Uff, hab ich echt nicht gesehen. Aber dafür kann ich nun die Rückmeldung geben das genauso klappt wie bei SO geschrieben.

Es ist zwar wesentlich mehr arbeit alles zu installieren, aber das macht man ja nicht so oft. Und ich finde es lohnt sich.

Gruß und danke

DelTurbo 29. Aug 2013 15:34

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Sorry, aber ich muss nochmal nachfragen. Ich habe nun alle Units getrennt. Und units mit und ohne debug-infos erstellt.

Nun starte ich eben ein Projekt was ich als "Release" erstellt habe (und nochmal nachgesehen ob wirklich alle hacken raus sind) und dann kommt sowas...

Modul laden: Project1.exe. Enthält Debug-Infos. Basisadresse: $00400000. Prozess Project1.exe (4564)

Sorry aber das kapier ich nicht. Ich hoffe es liegt nicht am Delphi 2007 selber.

Danke im voraus

EDIT: Mit diesen Parametern wird die .exe erstellt.
--no-config -$C- -$D- -$L- -$Y-

Uwe Raabe 29. Aug 2013 16:18

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Zitat:

Zitat von DelTurbo (Beitrag 1226623)
Modul laden: Project1.exe. Enthält Debug-Infos. Basisadresse: $00400000. Prozess Project1.exe (4564)

Ich glaube, diese Meldung kommt immer.

Du kannst aber mal in den Projektionen unter Delphi-Compiler/Linker die Debug-Informationen auf true setzen und den Unterschied in der EXE-Größe beobachten.

DelTurbo 29. Aug 2013 16:51

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Es ist zwar ein unterschied da, aber der ist minimal. Man muss schon richtig grosse Projekte nehmen um da was zu sehen. Finde ich eigentlich komig. Ich hätte gedacht wenn ich die DebugUnits nehme, das es merklich größer wird.

Hätte ich vorher gewusst was da ein mist auf mich zukommt, dann muss ich ehrlich sagen, ich wäre bei 32bit geblieben. :cry:

Uwe Raabe 29. Aug 2013 17:12

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Zitat:

Zitat von DelTurbo (Beitrag 1226636)
Es ist zwar ein unterschied da, aber der ist minimal. Man muss schon richtig grosse Projekte nehmen um da was zu sehen. Finde ich eigentlich komig. Ich hätte gedacht wenn ich die DebugUnits nehme, das es merklich größer wird.

Bei XE4 und einem leeren Projekt sind das von Release zu Debug schon 2 MB zu 10 MB.

Zitat:

Zitat von DelTurbo (Beitrag 1226636)
Hätte ich vorher gewusst was da ein mist auf mich zukommt, dann muss ich ehrlich sagen, ich wäre bei 32bit geblieben. :cry:

Was hat das denn jetzt mit 32-Bit oder nicht zu tun?

DelTurbo 30. Aug 2013 06:50

AW: Verhindern das beim Erstellen ALLE dcu erzeugt werden
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1226637)
Zitat:

Zitat von DelTurbo (Beitrag 1226636)
Hätte ich vorher gewusst was da ein mist auf mich zukommt, dann muss ich ehrlich sagen, ich wäre bei 32bit geblieben. :cry:

Was hat das denn jetzt mit 32-Bit oder nicht zu tun?

Sorry das ist etwas aus dem zusammen hang gerissen. Ich hatte bis letzten Montag Win7-32Bit mit dem 4gig patch drauf. Und da habe ich mich dann entschlossen auf win7-64bit umzusteigen, da es mit dem Patch z.b. mit dem USB3 treiber propleme gibt.

Eigentlich wollte ich sagen, "wäre ich doch bei meinem alten system geblieben!"

Aber die grössen mit oder ohne debuginfos/units sind bei weitem keine 8 MB, das sind nur ein paar KB. Deswegen kapier ich das nicht. Ein Projekt von mit hat Ohne Infos 4,4MB und mit DebugInfos UND Debugunits 5,3MB. Sorry, das verstehe ich nicht.

Sind da keine Bugs bekannt?

Nachtrag: Ich habe eben mal ein etwas größeres projekt erstellt. Der hatte vorher 248 units. Nun sind es 38, also wirklich nur "meine" die erstellt werden. Das macht sich schon bemerkbar.

Nachtrag2: Das Programm wird als Release 5.390.848 Bytes groß, und als Debug 5.521.920. Das kann doch nicht sein, oder???


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:43 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz