Announcement

Collapse
No announcement yet.

Gößenbeschränkung für procedures/functions?

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

  • Gößenbeschränkung für procedures/functions?

    Hallo!<BR>
    Bei einer dll, die die Strukturänderungen einer Datenbank berichtigen soll, trat die Fehlermeldung 'EOutOfMemory' auf. Dies war im Verlauf einer Funktion die auf ca. 4000-4500 Codezeilen angewachsen war. Nachdem ich diese Funktion mal in zwei Funktionen geteilt hab, gings wieder wunderprächtig! Gibt es evtl eine Größenbeschränkung für procedures/functions? Verwendet wurde Delphi 5 Enterprise auf W2K/NT/XP Prof<BR>
    Danke Wolfgang
    In God we trust - all others pay cash!

  • #2
    Man kann ich den Projektoptionen eine minimale und maximale Stackgröße festlegen. Das hört sich für mich nach so was in der Richtung an. Genau wissen tue ich es aber nicht.<p>
    Schöne Grüße, Mario Noac
    Schöne Grüße, Mario

    Comment


    • #3
      Nee, EOutOfMemory kann nur der integerierte Speichermanager auslösen. Das OS lösst höchsten eine "EOutOfResource" aus, z.B. wenn keine Fensterhandles,GDI Objecte mehr erzeugt werden können. Im Falle des Stacküberlaufes meldet sich das OS mit einer eigenen Exception die im Grunde nichts mit den VCL-Exception zu tun hat.<br>
      SysUtils.pas mappt diese zwar in Exception Objecte, aber nicht bei einem Stacküberlauf.

      gruß Hage

      Comment


      • #4
        ähm... wie war das mit eine prozedur/function sollte höchsten eine bildschirmseite groß sein.....

        hast aber einen großen bildschirm

        gruß

        marku
        Herzliche Grüße

        Markus Lemcke
        barrierefreies Webdesign

        Comment


        • #5
          Naja, "sollte höchstens" ist eine Designfrage, hängt vom Geschmack ab und zielt mehr auf die Lesbarkeit. Es gibt nämlich viele Bereiche in denen eine zu sehr zersplittete Procedure viel schlechter zu begreifen ist. Ausserdem gibts da noch das Problem mit der Performance. Hätte Borland das Inline Feature nicht verworfen sondern mehr ausgebaut, dann wäre die Performance weniger das Problem.<br>
          Aber grundsäzlich haste Recht: In der Kürze liegt die Würze )

          Gruß Hage

          Comment


          • #6
            Hallo und herzlichen Dank an Euch!

            Ich kann also Euren Antworten entnehmen, dass es eigentlich nur eine 'Stil'-Frage ist wie weit man eine function wachsen lässt.
            Dann hab ich also mein Problem durch die Aufspaltung nicht sicher behoben ist.
            Wenn der Fehler wieder auftreten sollte, werd ich mich nicht scheuen, mich wieder zu melden.

            Ciao
            Wolfgan
            In God we trust - all others pay cash!

            Comment

            Working...
            X