Autor Beitrag
alex_id
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 73



BeitragVerfasst: Mi 14.01.04 21:22 
hallo zusammen hier mal forlgendes Bsp:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
    TPersonl = record
        ID        : Integer;
        name      : String[32];
     end;

...
oberes funktioniert soweit
...
und ich möchte daraus folgendes machen :
ausblenden 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

_________________
Es gibt viele Wege, doch man kann nur einen gehen!
Keldorn
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 2266
Erhaltene Danke: 4

Vista
D6 Prof, D 2005 Pro, D2007 Pro, DelphiXE2 Pro
BeitragVerfasst: 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:

ausblenden 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: www.grundlagen.delph...e.de/pascal/oo.shtml

Mfg Frank

_________________
Lükes Grundlage der Programmierung: Es wird nicht funktionieren.
(Murphy)