| Andreas Pfau hat folgendes geschrieben: |
fGetNode
fSetNode; |
Damit hast du mich gerade stark verwirrt. Ich dachte zu aller erst, es handle sich dabei um 2 Felder. Erst als ich die "()" sah, wurde mir klar, dass es sich hier um zwei Methoden und keine Felder handelt.
Das "F" wird übrigens laut Style Guide groß geschrieben und nur für Felder und
nicht für Methoden, wo diese auch immer stehen sollten (private, protected, public, published) verwendet.
| Zitat: |
| Nur, dann brauche ich wieder einen Konstruktor, einen Destruktor, und muss alle Variablen im PRIVATE-Abschitt ablegen. |
Musst du nicht. Was du jedoch musst, ist den Konstruktor (wenn kein eigener vorhanden ist, wird TObject.Create automatisch aufgerufen) aufrufen und die Instanz mit Free wieder freigeben.
| Zitat: |
| Gibt es denn keine andere Möglichkeit, auf die Items des Records zuzugreifen? |
Liefere bei GetNodes einen Zeiger auf die Record-Variable zurück und spare dir die SetNodes Methode.
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| property Nodes[Index: Integer]: PBezierManagerNode read GetNodes;
function TMyClass.GetNodes(Index: Integer): PBezierManagerNode; begin Result := @NodesArray[Index]; end; |