Einzelnen Beitrag anzeigen

OsCor

Registriert seit: 1. Jan 2009
Ort: Kenzingen, Südbaden
99 Beiträge
 
Delphi 10.4 Sydney
 
#1

Array mit Records: Access violation

  Alt 19. Mär 2021, 19:19
Liebe Helfer,

Delphi-Quellcode:
var
  Form1: TForm1;
  ListAll: TStringlist;
  DName : String;

implementation

{$R *.dfm}

procedure TForm1.btnEinlesenClick(Sender: TObject);
const Sens : array[1..5] of String = ('Nordseite', 'Vorplatz', 'Terrasse', 'Speicher', 'Garage');
Type MPunkt = record
    Z : String[16]; // Datum und Uhrzeit
    MT : String[5]; // Lufttemperatur
    MF : String[2]; // rel. Luftfeuchte
    MTP : String[5]; // Taupunkt
    MWI : String[5]; // Wärmeindex
    end;
var DPfad, ZielNameT, ZielnameF, ZielnameTP, ZielnameWI, Du: String;
    Kanal, PP, i, j, k, l, n, h, PosSemi: Integer; // Kanal = Sensor, PP = Position Punkt Dateiname, i, j … = Laufvariablen
    LA2, LA3, LA4, LA5 : TStringList;
    Tag, Monat : String[2];
    Jahr : String[4];
    Uhrzeit : String[5];
    T, F, TP, WI, Y : String; // Zwischenvariablen für Temperatur, Feuchte, Taupunkt und Wärmeindex
    MW : Array[1..20000] of MPunkt;
    Diff, Mittel, Wert1, Wert2 : Single;
So sieht der Anfang einer kleinen Anwendung aus. Problem: Sobald ich die Obergrenze des Arrays in der vorletzten Codezeile auf mehr als 20000 erhöhe, erhalte ich einen Access Violation Fehler. An Speichermangel sollte es doch nicht liegen, wenn ich 4 GB Arbeitsspeicher (von 8 installierten) noch frei habe.

Kann mich jemand bitte vom Schlauch heben?
Oswald
  Mit Zitat antworten Zitat