![]() |
Array in Klasse dekalriert, Fehler beim zugriff
hallo,
hab da mal so ne Frage. Es geht um den Array Telegramm in TSuche. Mein Problem ist, dass ich nicht weiß wie ich mit dem umgehen soll, da er von der Klasse TSuchdaten ist. Immer wen ich versuche ihm ein Wert zuzuweisen (siehe procedure TNeueSuchForm.B_HinzufuegenClick(Sender: TObject) ganz unten im Quellcode), bekomme ich eine so heftige Exception dass sich mein Programm mal schnell verabscheidet. Irgendwie ist das nur ein Zeiger, ohne Wert. Wie muss ich den Array initalisieren?? :gruebel: Hab mir folgendes gebastelt:
Delphi-Quellcode:
Danke
type
TSuchdaten = class Daten : array[1..MAX_EDITFENSTER,0..1] of Integer; ID : Integer; PROCEDURE AlleDatenloeschen; CONSTRUCTOR Create; end; TSuche = class(TSuchdaten) Telegramm : array [1..MAX_SUCHCOUNT] OF TSuchdaten; suchcount : Integer; Grid : TStringGrid ; function DatenDarstellen(Position : Integer) : string; PROCEDURE oncellclick (Sender: TObject) ; PROCEDURE drawgridcell(Sender: TObject; ACol, ARow: Longint; ARect: TRect; AState: TGridDrawState) ; CONSTRUCTOR Create(gr: TStringGrid) ; end; ..... CONSTRUCTOR TSuchdaten.Create ; BEGIN // "TSuchdaten.Create" ID := 0 ; AlleDatenloeschen; END; // "TSuchdaten.Create" CONSTRUCTOR TSuche.Create(gr: TStringGrid) ; BEGIN // "TMsgList.Create" INHERITED Create ; suchcount := 0; Grid := gr ; Grid.OnDrawCell := drawgridcell ; Grid.OnClick := oncellclick ; END; // "TMsgList.Create" procedure TNeueSuchForm.FormCreate(Sender: TObject); begin Suche := TSuche.Create(SG_Suche1) ; end; procedure TNeueSuchForm.B_HinzufuegenClick(Sender: TObject); begin .... Suche.Telegramm[Suche.suchcount].ID := StrToInt(E_ID.Text); end; |
Re: Array in Klasse dekalriert, Fehler beim zugriff
du musst im Constructor von TSuche natürlich auch noch die instanzen von TSuchedaten (Telegramm) instanzieren (um im destructor wieder freigeben).
also
Delphi-Quellcode:
for i := 1 to MAX_SUCHCOUNT do
Telegramm[i] := TSuchdaten.Create; |
Re: Array in Klasse dekalriert, Fehler beim zugriff
Tja, wo du recht hast, hast du recht.
Ich bin irgendwie viel zu :wall: . Geht jetzt. Danke, und ein schönes Wochenende |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:35 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