+ Added is_object method to Tobject. It is similar to the is operator.

This commit is contained in:
daniel 2000-03-06 20:15:32 +00:00
parent d4ac80bd11
commit c711189ead

View File

@ -299,6 +299,7 @@ TYPE
TObject = OBJECT
CONSTRUCTOR Init;
PROCEDURE Free;
FUNCTION Is_Object(P:Pointer):Boolean;
DESTRUCTOR Done; Virtual;
END;
PObject = ^TObject;
@ -954,6 +955,30 @@ BEGIN
Dispose(PObject(@Self), Done); { Dispose of self }
END;
{--TObject------------------------------------------------------------------}
{ Is_Object -> Platforms DOS/DPMI/WIN/OS2 - Checked 5Mar00 DM }
{---------------------------------------------------------------------------}
FUNCTION TObject.Is_Object(P:Pointer):Boolean;
TYPE
PVMT=^VMT;
VMT=RECORD
Size,NegSize:Longint;
ParentLink:PVMT;
END;
VAR SP:^PVMT; Q:PVMT;
BEGIN
SP:=@SELF;
Q:=SP^;
Is_Object:=False;
While Q<>Nil Do Begin
IF Q=P THEN Begin
Is_Object:=True;
Break;
End;
Q:=Q^.Parentlink;
End;
END;
{--TObject------------------------------------------------------------------}
{ Done -> Platforms DOS/DPMI/WIN/OS2 - Checked 10May96 LdB }
{---------------------------------------------------------------------------}
@ -2761,7 +2786,10 @@ END;
END.
{
$Log$
Revision 1.35 2000-02-09 16:59:30 peter
Revision 1.36 2000-03-06 20:15:32 daniel
+ Added is_object method to Tobject. It is similar to the is operator.
Revision 1.35 2000/02/09 16:59:30 peter
* truncated log
Revision 1.34 2000/01/07 16:41:34 daniel