![]() |
Stack Überlauf in der IDE
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich verwende folgende Prozedur unter D5 Pro.
Delphi-Quellcode:
Sobald in die Prozedur gesprungen wird bleibt die IDE auf der ersten Zeile hängen und meldet Stack-Überlauf.
procedure Tfrm_main.Vergleichstarten1Click(Sender: TObject);
const xlCellTypeLastCell = $0000000B; var XlApp1, XlSheet1: OLEVariant; iLastRow1, iLastCol1: integer; iLastRow2, iLastCol2: integer; iAnzahlBlaetter1 : integer; iAnzahlBlaetter2 : integer; iSheetIndex, iColIndex, iRowIndex : integer; iAktRow3 : integer; workBook1 : array [1..50, 1..50, 0..100] of string[50]; // Sheet, Col, Row. workBook2 : array [1..50, 1..50, 0..100] of string[50]; // Sheet, Col, Row. sStrValue1, sStrValue2 : string; begin if ((sBaseFile1 = '') or (sBaseFile2 = '') or (sBaseFile3 = '')) then begin MessageDlg('Ein oder mehrere Tabellen wurden nicht angegeben.', mtError, [mbOk], 0); exit; end; ... Ich habe das CPU Fenste mal angehangen. Hat jemand eine Idee für mich? :gruebel: |
Re: Stack Überlauf in der IDE
Bedenke, dass alle lokalen Variablen auf dem Stack liegen. Jedes deiner Arrays verbraucht 50 * 50 * 101 * 51 Byte speicher, und das ist sehr viel ;) Insgesamt wären das etwa 25MB Stackspeicher.. Der Standard ist glaub ich 4MB.
|
Re: Stack Überlauf in der IDE
Danke für den Tipp.
Als globale Variable klappt es. |
Re: Stack Überlauf in der IDE
Mit dynamischen Arrays würde es auch funktionieren.
|
Re: Stack Überlauf in der IDE
Mit dynamischen Arrays würde es mir auch besser gefallen.
Aber ich bekomme die Größe von mehrdimensionalen Array nicht gesetzt. :wall: |
Re: Stack Überlauf in der IDE
Delphi-Quellcode:
Einziger Unterschied: dynamische Arrays fangen immer bei 0 an, somit müssten Zugriffe auf deine ersten beiden Dimensionen nun ein -1 bekommen, da es dort nur noch von 0 bis 49 geht.
SetLength(workBook1, 50, 50, 101);
SetLength(workBook2, 50, 50, 101); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:51 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