Announcement

Collapse
No announcement yet.

Sommer-/Winterzeit Umstellung: Delphi kompiliert Projekt neu

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Sommer-/Winterzeit Umstellung: Delphi kompiliert Projekt neu

    Alle halbe Jahre wieder, und zwar immer nach der automatischen Umstellung auf Sommer-/Winterzeit, kompiliert Delphi unser gesammtes Projekt neu. Da dieses Projekt inzwischen monströse Größe erreicht hat, dauert dieser Vorgang mitlerweile einen ganzen Tag (besagtes Projekt wird seit fünf Jahren auf NT-Rechnern mit Delphi 3 ständig gepflegt und erweitert).
    Kennt jemand diese Phänomen und weiß vielleicht Abhilfe?
    Gruß
    Michael

  • #2
    <i>dauert dieser Vorgang mitlerweile einen ganzen Tag</i><br>
    Wow! Darf ich fragen, <i>wie</i> monströs euer Projekt ist? Ich arbeite hier
    an einem Programm von ein paar 100.000 Zeilen, und ich leiste es
    mir mehrmals am Tag, das Projekt neu durchzukompilieren, um Delphi
    über die eine oder andere Hürde hinwegzuhelfen. Mit der Taktik hättet
    ihr wohl Probleme. ;-)
    <br>Ciao, Uli

    Comment


    • #3
      dauert dieser Vorgang mitlerweile einen ganzen Tag...

      Wir haben auch ein größeres Projekt (ca. 680000 Zeilen) und Delphi (6) kompiliert es unterhalb einer Minute, obwohl fast alle Source-Dateien auf dem Server liegen (100-MBit-Netz). Diese Zeiten hatte ich nicht mal mit Visual C++/MFC.

      Kann es sein, das evtl. (auf Server und/oder Client) Virenscanner laufen? Diese können u. U. eine sehr große Bremse darstellen. Einfach mal in den Scannern die Dateiendungen pas, dfm, dcu aus dem Scanprozess ausnehmen.

      Bernhar

      Comment


      • #4
        Ca. 350.000 Codezeilen in ca. 500 Units. Wir kompilieren auf 300er bis 400er PII-Rechnern mit 256 MB RAM. Warum es so lange dauert, kann sich bei uns keiner erklären. Delphi bleibt bei den meisten Units minutenlang in Zeile 10 oder 11 (uses-Klausel) stehen. Erwähnt sei noch, dass sich aus pragmatischen Gründen viele Units gegenseitig referenzieren. Außerdem verwenden wir jede Menge zugekaufte Komponenten. Es besteht ein Verdacht, dass das Problem nach der Integration von ReportBuilder und InfoPower begann. Hat jemand eine ähnliche Erfahrung gemacht?
        Gruß
        Michae

        Comment


        • #5
          Am Virenscanner liegt es nicht. PAS, DFM und DCU werden nicht geprüft. Das Netzwerk kann auch nicht das Probblem sein, da wir ausschließlich lokale Kopien kompilieren.
          Gruß
          Michae

          Comment


          • #6
            Na das klingt als ob Delphi durch die vielen Units im uses ins Schwitzen geraet. Rappelt dabei die Festplatte? Dann mehr Speicher rein.<br>
            Sorgfaeltiges Ausduennen der Units im uses und Verteilen auf beide uses koennte helfen.<br>
            Datenbankkomponenten neigen auch dazu Verbindungen bereits in der IDE aufzumachen

            Comment


            • #7
              Die Festplatte ist ruhig, die Prozessorleistung liegt dauerhaft bei 100%. Wir achten schon darauf, dass im Uses nur das steht, was auch gebraucht wird. I.d.R. stehen die Standard-Units im Interface-Teil, die eigenen unter Implementation.

              Michae

              Comment


              • #8
                So einen ähnlichen Effekt habe ich auch auf Windows XP mit Delphi 6.02 seit ich die Office Units (die bei Delphi bei sind) ins Projekt eingebunden habe (Word97, Ppt97, Excel 2000). Das Erzeugen dauert nun ewig. Auf meinem AMD 1800 dauert es einige Minuten, obwohl der eigene Source nur einige tausend Zeilen ist und ich auch alles lokal liegen habe. Es gibt aber eine Unmenge Warnung, dass ist mir aufgefallen, die in den Typbibliotheken liegen...<p>
                Ich schiebe es mal auf die Typbibliotheken, kenne aber den eigentlichen Grund auch nicht <p>
                Schöne Grüße, Mario Noac
                Schöne Grüße, Mario

                Comment


                • #9
                  Zur ursprünglichen Frage hat sich eigentlich noch niemand geäußert: Warum meint Delphi nach der Zeitumstellung Projekte neu kompilieren zu müssen? An den PAS, DFM und DCU-Dateien hat sich doch nichts geändert, auch der Zeitstempel nicht. Nach welchem Kriterium geht Delphi hier vor?

                  Gruß, Michae

                  Comment


                  • #10
                    Es koennte sein, das Delphi die Zeitumstellung bemerkt und sicherheitshalber ein volles Make vornimmt. Da muss man mal Borland fragen

                    Comment


                    • #11
                      Hallo Michael,<BR>
                      Ich vermute, dass das Projekt auf einem NT-Server liegt.<BR>
                      Ich tippe auf die EInstellungen der ZeitZone.<BR>
                      Prüfe doch mal in der Registrierung die Einträge in TimeZoneInformation (am besten danach suchen).<BR>
                      Ich vermute dass der Server anders umstellt als der Client. Wenn Du das Datum einer Datei des Servers von Client aus ermittelst, so wird eine unterschiedliche Einstellung der Sommerzeit als Offset in den Datum - Zeitstempel der Datei eingerechnet. Dadurch denkt der Rechner nach der Umstellung, dass die Dateien geändert wurden und kompiliert neu!<BR>
                      Fran

                      Comment

                      Working...
                      X