Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - objekt erstellen


alex_id - Mi 14.01.04 21:22
Titel: objekt erstellen
hallo zusammen hier mal forlgendes Bsp:

Delphi-Quelltext
1:
2:
3:
4:
    TPersonl = record
        ID        : Integer;
        name      : String[32];
     end;

...
oberes funktioniert soweit
...
und ich möchte daraus folgendes machen :

Delphi-Quelltext
1:
2:
3:
4:
    TPersonl = class
        ID        : Integer;
        name      : String[32];
     end;


- muss ich dies in eine eigene UNIT packen ?
- wie greife ich auf die Elemente zu ? ( denn ich bekomme zZ eine Speicherzugriffsverletzung )
- was hab ich noch zubeachten ?

Danke für Eure Hilfe :!:

Moderiert von user profile iconPeter Lustig: Topic Verschoben


Keldorn - Mi 14.01.04 23:32

Hallo

Zitat:

- muss ich dies in eine eigene UNIT packen ?

müssen tust du es nicht, hängt auch von deiner Klassen/Programmgröße ab. Ich finde es übersichtlicher, wenn du die Klasse von der Form trennst, wenn es aber bloß ein paar Zeilen sind und du nicht viele Klassenmethoden hast, hats vielleicht keinen sinn

Zitat:

- wie greife ich auf die Elemente zu ? ( denn ich bekomme zZ eine Speicherzugriffsverletzung )

du mußt ein Objekt auch erzeugen:


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
procedure TForm1.Button1Click(Sender: TObject);
Var Person:TPersonl;
begin
  person:=TPersonl.create; //Instanz erzeugen
//  ...
  person.name:='mein name'//wertzuweisung
//  ...
  person.free; //und wieder freigeben
end;


Zitat:

- was hab ich noch zubeachten ?

- das freigeben der objekte nicht vergessen
- evtl. resourcenschutzblöcke mit anschauen (try/finally findest du auch auf der u.g. Seite)
- wenn du mit Objekten arbeitest hat objekt1:=objekt2 eine andere Bedeutung, als wenn es ein record wäre. (steht auch im u.g. Tutorial)
...

ist was zum Lesen: http://www.grundlagen.delphi-source.de/pascal/oo.shtml

Mfg Frank