@GünterS:
das ist schon immer so. führe folgenden code aus:
Delphi-Quellcode:
type
TSomeClass = class
data: Integer;
end;
procedure DoSomething(aObject: TSomeClass);
begin
aObject := TSomeClass.Create;
aObject.data := 42;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
obj: TSomeClass;
begin
obj := TSomeClass.Create;
obj.data := 23;
DoSomething(obj);
ShowMessage(obj.data);
end;
dir ist wahrscheinlich genau das passiert, was viele bei objekten zunächst nicht verstehen nämlich daß es nur eine objektreferenz deren objekt ich zwar manipulieren kann die ich aber selbst nicht ändern kann weil sie lediglich eine lokale kopie ist.
@Kouran:
außer in altem code gar nicht. einige
winapi funktionen verlangen noch pointer auf strukturen aber prinzipiell kannst du alles was mit pointern möglich ist auch mit objekten erreichen. zum beispiel kannst du verkettete listen mit objekten genauso machen wie mit pointern auf records und es macht für die funktionalität keinerlei unterschied. das heißt du kannst mittlerweile fast komplett ohne pointer programmieren. das prinzip solltest du dennoch verstehen weil es dir bei objekten begegnet.