Objekte in MSElang

Forum für alles rund um die MSEide und MSEgui

Re: Objekte in MSElang

Beitragvon mse » 20. Mai 2017, 12:46 Re: Objekte in MSElang

mschnell hat geschrieben:
mse hat geschrieben:Das kompiliert nicht, da die Typen nicht passen.

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)

Ist die Regel das bei mse-Pascal strenger und/oder klarer definiert ?

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.
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();
 
mse
 
Beiträge: 1713
Registriert: 16. Okt 2008, 09:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.4.2,git master FPC 3.0,fixes_3_0) | 
CPU-Target: x86,x64,ARM
Nach oben

• Themenende •
Vorherige

Zurück zu MSEide und MSEgui



Wer ist online?

Mitglieder in diesem Forum: fliegermichl und 2 Gäste

porpoises-institution
accuracy-worried