Ich habe das ganze jetzt mal umgebaut und ausprobiert nach dem Vorschlag von
Thomas. Das mit dem Eintrag der Daten funktioniert so weit. Meine Deklaration sieht jetzt so aus :
Delphi-Quellcode:
type
TGesellschaftsname = class
private
FOnChange : TNotifyEvent;
FStammNr : Integer;
FGesellschaftername : string;
FZeichnungskapital : Double;
FZweiteZahlung : TDateTime;
FZahlenderBetrag : Double;
procedure SetStammNr(Value: Integer);
procedure SetGesellschaftername(Value: String);
procedure SetZeichnungskapital(Value: Double);
procedure SetZweiteZahlung(Value: TDateTime);
procedure SetZahlenderBetrag(Value: Double);
function GetStammNr:Integer;
function GetGesellschaftername:String;
function GetZeichnungskapital:Double;
function GetZweiteZahlung:TDateTime;
function GetZahlenderBetrag:Double;
public
property StammNr : Integer read GetStammNr write SetStammNr;
property Gesellschaftername : string read GetGesellschaftername write SetGesellschaftername;
property Zeichnungskapital : Double read GetZeichnungskapital write SetZeichnungskapital;
property ZweiteZahlung : TDateTime read GetZweiteZahlung write SetZweiteZahlung;
property ZahlenderBetrag : Double read GetZahlenderBetrag write SetZahlenderBetrag;
property OnChange : TNotifyEvent read FOnChange write FOnChange;
end;
var
Gesellschafter : TGesellschaftsname;
GesellschafterListe : TList;
Nur kapiere ich das irgendwie mit dem Pointern noch nicht. Wie kann ich jetzt einen Wert aus der Klasse TGesellschaftsname auslesen ? Ich habe das vorher mit dem Record so gemacht :
TGesellschaftsname(GesellschafterListe[LV_Gesellschaftsform.Selected.Index]^).Gesellschaftsname
Nur mit der Klasse bekomme ich jetzt eine EAccessViolation. Wen ich jetzt hinten das Zeichen ^ weglasse passiert garnichts. Genauso mit dieser Zeile :
TGesellschaftsname(GesellschafterListe.Items[LV_Gesellschaftsform.Selected.Index]).Gesellschaftername
Was mache ich hier falsch ?