FPC {$mode objpas} macht das AFAIK auch nicht. Für Objekte die immer auf dem heap instantiiert sind gibt es "class", welches implizite Dereferenzierung bietet. Es gibt zwar Opposition dagegen, da "class" = "^object" und daher redundant ist.mschnell hat geschrieben:Bei Delphi Class Typen (auch bei anderen ? ) wird bei Bedarf automatisch der Pointer verwendet, ohne dass man das explizit angibt. Nicht sauber, aber praktisch. (obj3.doit bedeutet da ja eigentlich obj3^.doit)mse hat geschrieben: Das kompiliert nicht, da die Typen nicht passen.
Ist die Regel das bei mse-Pascal strenger und/oder klarer definiert ?
Code: Alles auswählen
type
objty = object
f1: int32;
constructor create(i: int32);
destructor destroy();
method doit();
end;
ctest = class(objty)
end;
[...]
var
test1: ctest;
begin
test1:= ctest.create(123);
test1.doit();
test1.destroy();