Myslím, že tu pár skalních a zkušených pascalistů je - potřeboval bych poradit s problémem viz titulek.
Našel jsem jen implicitní parametr metody pod názvem self, to mi ale překladač odmítá vzít s chybou "Type mismatch". Nedaří se mi to ani přetypovat, tak jsem to zatím obešel tak, že jsem si po vytvoření objektu uložil jeho adresu jako jednu z vlastností. To je ale divný...
Viz očesaný kód k pochopení:
type Puzel = ^Tuzel; Tuzly = array[1..10] of Puzel; Tuzel = object nazev : string; pocetnavuzlu : byte; navazuje : Tuzly; constructor init(inaz : string); procedure predej(pp:longint; var odkud:Puzel); end; procedure Tuzel.predej(pp:longint; var odkud: Puzel); var i : byte; begin navazuje[1]^.Predej(pp-1, self);
{ self = adresaInstanceObjektuVlastniciTutoMetodu ?} end; var u1,u2: Puzel; begin u1:=new(Puzel,init('U1')); u2:=new(Puzel,init('U2')); u2^.predej(100,u1); end.