Zitat von
RWarnecke:
Deine Proberty schreibt und liest doch den Wert fNumberWithZero, warum sollte es nicht funktionieren ?
Nein, die function ist eine in der
Unit deklarierte globale Funktion. Sie bekommt als Argument ein Objekt, welches ein TestProject darstellt. Dieses Objekt hat public properties, an denen jeweils eine Set/Get-Methode hängt.
Diese Eigenschaften des Objektes werden dann in der Save-function als Werte in eine INI-Datei geschrieben. Daher ist kein Zugriff innerhalb der function auf private Eigenschaften des übergebenen Objektes möglich. Dann müsste ich die fAttribute public machen und auf Set/Get-Methoden der Properties verzichten. Das macht für mich keinen Sinn wenn ich hier kapseln möchte. Hilft diese Erklärung zum besseren Verstehen?
Delphi-Quellcode:
type
TTestProject = class(TObject)
private
{ Private declarations }
fName: string; // name des projektes
fNumberWithZero: boolean; // sollen nach dem prefix der nummernbereich mit nullen aufgefüllt werden?
...
// methoden
procedure Set_NumberWithZero(aNumberWithZero: boolean);
function Get_NumberWithZero: boolean;
...
public
{ Public declarations }
// properties
property Id: string read Get_IdStr;
property Name: string read fName write fName;
property NumberWithZero: boolean read Get_NumberWithZero write Set_NumberWithZero;
...
// konstruktor etc...
constructor Create; overload;
destructor Destroy; override;
end;
Gruß,
Christoph