![]() |
Record als Property übergeben
Hallo,
ich habe eine Mainform in der ich ein Record habe:
Delphi-Quellcode:
In der MainForm hab ich eine Variable die so definiert ist:
type
//Record für Verwaltung Verwaltung_Rec = record Name : String[255]; OrdnerID: String[50]; end;
Delphi-Quellcode:
so - so weit so gut.
Liste_Sprachen = Array of Verwaltung_Rec;
Ich habe eine zweite Form (EinstellungenForm) in der ich Properties definiert habe. Die Variable "Liste_Sprachen" möchte ich nun an diese Form übergeben. In der EinstellungenForm hab ich folgendes programmiert:
Delphi-Quellcode:
Wenn ich aber nun in der MainForm
type
//Record für Verwaltung Verwaltung_Rec = record Name : String[255]; OrdnerID: String[50]; end; private FListe_Sprachen : Verwaltung_Rec; published { Published-Deklarationen } property Liste_Sprachen: Verwaltung_Rec read FListe_Sprachen write FListe_Sprachen;
Delphi-Quellcode:
mache, dann bekomm ich folgende Meldung:
with EinstellungenForm do
begin Liste_Sprachen := Array_Sprachen; end; Zitat:
Nur kann ich ja nicht in EinstellungenForm bei den property
Delphi-Quellcode:
Denn dann bekomm ich die Meldung:
property Liste_Sprachen: Array of Verwaltung_Rec read FListe_Sprachen write FListe_Sprachen;
Zitat:
|
Re: Record als Property übergeben
Wenn du mehrere Record vom gleichen typ übergeben willst, kannst due eine indizierte Property nehmen. Aber du kannst dann trotzdem immer nur einen record auf einmal übergeben (keinen Array).
|
Re: Record als Property übergeben
Danke
ich denke ich bekomme auch probleme damit, dass mein Array dynamisch ist. Ich denke ich werde bzw. muss auf eine TStringList ausweichen |
Re: Record als Property übergeben
Du definierst Verwaltung_Rec mehrfach.
Und obwohl die Definitionen gleich ausshen sind sie für den Compiler nicht das Selbe. Definiere den records nur einmal () und greife in beiden Units auf die selbe Definition zu. Zitat:
Delphi-Quellcode:
Wobei es o bestimmt besser ist:
Type TListe_Sprachen_Array = Array of Verwaltung_Rec;
Var Liste_Sprachen: TListe_Sprachen_Array; ... property Liste_Sprachen: TListe_Sprachen_Array read FListe_Sprachen write FListe_Sprachen;
Delphi-Quellcode:
property Liste_Sprachen[Index: Integer]: Verwaltung_Rec read Get_Liste_Sprachen write Set_Liste_Sprachen;
function Get_Liste_Sprachen(Index: Integer): Verwaltung_Rec; begin Result := FListe_Sprachen[Index]; end; procedure Set_Liste_Sprachen(Index: Ineger; Rec: Verwaltung_Rec); begin FListe_Sprachen[Index] := Rec; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:05 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