![]() |
array zugriffsverletzung
halli hallo,
ich als anfänger, kenne den array erst seit kurzem. Jetzt wollte ich mal probieren, einen Array von einer eigenen Klasse zu machen. dabei habe ich (beispiel...)
Delphi-Quellcode:
die variable natürlich:
tprobier= class
public wert:integer; end;
Delphi-Quellcode:
dann hab ich eine prozedur "wertefestlegen", die macht das hier:
var
test: array[1..6] of tprobier;
Delphi-Quellcode:
"wertefestlegen" kommt bei klick auf einen button.
procedure wertefestlegen;
begin test[1].wert:=20; test[2].wert:=43; test[3].wert:=40; test[4].wert:=60; test[5].wert:=80; test[6].wert:=430; end; ok, ihr cracks könnt es euch sicherlich schon denken, das da eine speicherschutzverletzung kommt... was muss ich machen, damit das tut?? danke schon mal im vorraus ---- Und noch eine kleine frage, weiss jemand zufällig was diese grünen geschweiften klammern machen, wo ein dollarzeichen drin steht?? |
Re: array zugriffsverletzung
Du musst die Klasse zuerst erzeugen.
Delphi-Quellcode:
Am beseten du erstellst für den Wert einen ctor.
test[1] := TProbier.Create();
test[1].wert:=20;
Delphi-Quellcode:
Jetzt ist das möglich:
tprobier= class
private iWert:integer; public constructor Create(aiWert : Integer); property Wert : Integer read iWert write iWert; end; constructor TProbier.Create(aiWert : Integer); begin inherited Create; iWert := aiWert; end;
Delphi-Quellcode:
test[1] := TProbier.Create(20);
Bei beiden gilt aber was man dynamisch erzeugt, muss auch wieder freigegeben werden.
Delphi-Quellcode:
oder
test[1].Free;
Delphi-Quellcode:
FreeAndNil(test[1]);
|
Re: array zugriffsverletzung
ahh... gut danke
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:20 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