![]() |
AW: 10.4 Sydney IDEFixpack kommt da noch was ?
Zitat:
|
AW: 10.4 Sydney IDEFixpack kommt da noch was ?
Zitat:
Genau dies würde mich auch brennend interessieren. |
AW: 10.4 Sydney IDEFixpack kommt da noch was ?
Wahrscheinlich entscheidet das Tool nur ob es in der Implementatation oder im Interface landet. Sowas können aber meines Erachtens nach auch viele andere Tools bereits.
|
AW: 10.4 Sydney IDEFixpack kommt da noch was ?
Zitat:
|
AW: 10.4 Sydney IDEFixpack kommt da noch was ?
Darum auch meine Empfehlung möglichst nur das USES im Interface zu benutzen.
Dort steht dir Reihenfolge fest, also immer in der Reihenfolge, wie es im Code steht. * erste Unit * dann das was in dieser Unit steht * dann zweite Unit (falls nicht bereits in untergeordneten Units geladen) * usw. Das was im USES der Implementation steht, das kann der Compiler in beliebiger Reihenfolge einbinden. Auch werden UNITs der Implementation eventuell erst nach dem Code der Initialization geladen und bereits vor der Finalization entladen, während die UNITs im Interface immer vor Initialization geladen und erst nach Finalization entladen werden, womit deren Funktionen dort (sicher) nutzbar sind. Selbes gilt für Codes der Class-Constructor und Class-Destructor. |
AW: 10.4 Sydney IDEFixpack kommt da noch was ?
40 Minuten, um zu compilieren ? Wie macht ihr das bei Änderungen im Code ? Nur einmal am Tag compilieren oder jedes Mal 40 Minuten warten ? Das ist doch nicht wirklich handelbar, oder ?
Wenn ihr ein Tool geschrieben habt, um die Units zu sortieren, dann wäre diese Erkenntnis sicher auch für andere Entwickler sehr hilfreich. Gibt es da eine generelle Strategie ? Oder war das Try and Error (bei 40 Minuten eine wohl wahrlich mühsame Geschichte)? Ansonsten würden wir uns natürlich freuen, darüber mehr zu erfahren. Es wäre auch mal ganz interessant, auf welcher Hardware diese Compilier-Zeiten erreicht werden und ob sich da evtl. durch Aufrüsten noch was verbbessern lässt. |
AW: 10.4 Sydney IDEFixpack kommt da noch was ?
So wie es viele große Projekte machen, wie z.B. Firefox.
Niemand kompiliert selbst, sondern es wird regelmäßig durch einen Build-Server erledigt und das Ergebnis dann irgendwo bereit gestellt. Nightly Build, bzw. Daily Build usw. ![]() ![]() PS: Zwar noch nicht für den Delphi-Code, aber schonmal für den Datenbank-Teil, hängt am GIT-Push (damals SVN-Commit) ein Event, welches einen Build-Server (CI / Continuous Integration) angestoßen, welcher eine Test-Datenbank erzeugt und verschiedene Tests laufen lässt. Sowas kann man auch für das Erstellen machen. Bei uns werden die paar Mio Zeilen (noch mit XE, aber ich bin gerade damit beschäftigt es auf 10.4 umzustellen) eigener und fremder Code im FinalBuilder erzeugt, samt den Setups und der Hilfedateien., und sowas geht auch in einem Server. Inzwischen haben wir auch ein paar GUI-Tests (noch als eigenständiges Programm > TestComplete von Smartbear). Jetzt könnte man also automatisch in einem Server den Quellcode auschecken, über das Build-Script die Delphi-Projekte (EXE/DLL/BPL) erzeugen, jede Nacht einmal alles Tests ausführen und hätte morgens die Ergesnisse ... geht durch eine kleine Änderung irgendeine bekannte Funktion kaputt, für die es auch einen Test gibt, dann bekommt es nicht erst der Kunde mit. :stupid: Wenn das Build/Compile dann aber nur noch über den Server liefe, dann mußt du nach einer Änderung erst bis morgen warten, bis du siehst, ob ein z.B. Semikolon fehlt. :lol: Wir kompilieren den Großteil lokal über FinalBuilder und jeder nur noch die eine DLL/BPL/EXE im Delphi, an welcher gerade gearbeitet wird. Das dauert im Delphi (XE mit IDESpeedPack) einige Minuten und im FinalBuilder in unter 2 Minuten (nur der Delphi-Code), da dort alle Fremdkomponenten und mehrere eigene DLL/EXE und viele der BPL parallel (multithreated) kompiliert werden. |
AW: 10.4 Sydney IDEFixpack kommt da noch was ?
Zitat:
Wo kommen bei euch denn die 40 Minuten her?? (nur aus Interesse) |
AW: 10.4 Sydney IDEFixpack kommt da noch was ?
Zitat:
*Kopfkratz* |
AW: 10.4 Sydney IDEFixpack kommt da noch was ?
3 Mio. Quellcodezeilen - 40 Minuten?
Kann es sein das ihr noch mit 20 Jahre alten Rechner auf Netzwerklaufwerken mit 10BASE2 arbeitet? Kopiert ihr lokal oder Netzwerk? Wenn Netzwerk - Wieso? Mit Git und Co ist doch eine "sichere Ablage Quellcode" so nicht nötig. Wenn Lokal - Ach mal den Virenscanner abgeschaltet? Diese können ziemlich Mistig sein und die kompilierung durch Analyse der Zwischendateien stark bremsen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:14 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