Přidáno 1 295 bajtů,
5. 10. 2012, 14:05 Vrací ukazatel na tabulku virtuálních metod (VMT) objektového typu.
;Deklarace
procedure TypeOf (Param1: ObjectType) : Pointer
;Režim
:Windows, Reálný, Chráněný
;Poznámky
:Param1 je buď identifikátor objektového typu nebo instance objektového typu.
:[[TypeOf]] lze použít pouze na objektové typy, které mají VMT; všechny ostatní typy způsobí chybu.
;Viz také
:[[SizeOf]]
Vzorový příklad
{Typeof.PAS}
{Vzorový příklad pro funkci TypeOf.}
{ Pro Windows: }
{ uses WinCrt; }
uses Objects;
type
PBaseObject = ^TBaseObject;
TBaseObject = object(TObject)
end;
PChildObject = ^TChildObject;
TChildObject = object(TBaseObject)
end;
var
P,Q : PObject; { ukazatel na abstraktní objekt }
begin
P := New(PBaseObject, Init);
Q := New(PChildObject, Init);
if TypeOf(P^) = TypeOf(TBaseObject) then
writeln('P je instance TBaseObject')
else
writeln('P není instance TBaseObject');
if TypeOf(Q^) = TypeOf(TChildObject) then
writeln('Q je instance TChildObject')
else
writeln('Q není instance TChildObject');
if TypeOf(Q^) <> TypeOf(P^) then
writeln('Q není stejný type instance objektu jako P');
Dispose(P, Done);
Dispose(Q, Done);
end.
[[Category:System]]
[[Category:Funkce System]]