Otevřít hlavní menu

Změny

TypeOf

Přidáno 1 295 bajtů, 5. 10. 2012, 15:05
Vytvorená stránka „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...“
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]]