Ich habe in einem meiner Programme eine riesige Prozedur (Sub) mit mehr als 2.500 Codezeilen.
Von Zeit zu Zeit bekomme ich folgende Fehlermeldung:
Da unter VB 6 eine Prozedur maximal 64 KB groß sein darf und meine ja nun sehr groß ist, ist die Fehlermeldung verständlich. Lösung: Teile der Prozedur auslagern.
Das habe ich auch gemacht. Leider ist der gesamte Code eine einzige Rechnung, aus der man keine Teile auslagern kann, weil man sonst ständig zig Variablen hin und her übergeben müsste. Daher habe ich sämtliche Variablendeklarationen ausgelagert. Ich habe die Prozedur in ein eigenes Modul gepackt und alle Dim-Anweisungen auf Modulebene (statt Prozedurebene) verschoben.
Nun dürfte die Prozedur doch kleiner sein, oder?
Tatsache ist aber, dass nun bereits nach ganz wenigen neuen Codezeilen wieder die Fehlermeldung kommt. Ich bin mir eigentlich sucher, dass ich vor dem Auslagern bestimmt noch 20 Codezeilen einfügen konnte, bevor der Fehler kam. Nun muss ich nur 5 kleine einfügen, und es geht nicht weiter.
Hat jemand eine Idee? Bringt das Auslagern von Dim-Anweisungen womöglich nichts? Ich habe allerdings auch noch eine Menge Wertezuweisungen ausgelagert, dieser Platz muss doch nun frei sein.
Von Zeit zu Zeit bekomme ich folgende Fehlermeldung:
Fehler beim Kompilieren:
Prozedur zu groß
Da unter VB 6 eine Prozedur maximal 64 KB groß sein darf und meine ja nun sehr groß ist, ist die Fehlermeldung verständlich. Lösung: Teile der Prozedur auslagern.
Das habe ich auch gemacht. Leider ist der gesamte Code eine einzige Rechnung, aus der man keine Teile auslagern kann, weil man sonst ständig zig Variablen hin und her übergeben müsste. Daher habe ich sämtliche Variablendeklarationen ausgelagert. Ich habe die Prozedur in ein eigenes Modul gepackt und alle Dim-Anweisungen auf Modulebene (statt Prozedurebene) verschoben.
Nun dürfte die Prozedur doch kleiner sein, oder?
Tatsache ist aber, dass nun bereits nach ganz wenigen neuen Codezeilen wieder die Fehlermeldung kommt. Ich bin mir eigentlich sucher, dass ich vor dem Auslagern bestimmt noch 20 Codezeilen einfügen konnte, bevor der Fehler kam. Nun muss ich nur 5 kleine einfügen, und es geht nicht weiter.
Hat jemand eine Idee? Bringt das Auslagern von Dim-Anweisungen womöglich nichts? Ich habe allerdings auch noch eine Menge Wertezuweisungen ausgelagert, dieser Platz muss doch nun frei sein.
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Marcus Gräfe“ ()