Код: Выделить всё
type
class1 = class(TObject)
procedure test;
end;
var
c1: class1;
p : pointer; //или p: TObject;
begin
c1 := class1.Create;
p := c1;
// и как-то вызвать p.test;
Модератор: Модераторы
Код: Выделить всё
type
class1 = class(TObject)
procedure test;
end;
var
c1: class1;
p : pointer; //или p: TObject;
begin
c1 := class1.Create;
p := c1;
// и как-то вызвать p.test;
Код: Выделить всё
class1(p).test;Действительно элементарно. Спасибо. А я там уже стал заморачиваться определением адреса через прямое обращение к VMT)))))))Дож писал(а):Код: Выделить всё
class1(p).test;
Код: Выделить всё
Tclass1 = class(TObject);
Tclass2 = class(Tclass1);
var
Tmp:TClass1;
Tclass2(Tmp).GoGo; // если процедура только в втором классе.
(Sender as Tclass2).GoGo; //
if Sende.ClassName='TClass2' then
(Sender as Tclass2).GoGo;