mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-09-17 21:49:21 +02:00
+ Added is_object method to Tobject. It is similar to the is operator.
This commit is contained in:
parent
d4ac80bd11
commit
c711189ead
@ -299,6 +299,7 @@ TYPE
|
|||||||
TObject = OBJECT
|
TObject = OBJECT
|
||||||
CONSTRUCTOR Init;
|
CONSTRUCTOR Init;
|
||||||
PROCEDURE Free;
|
PROCEDURE Free;
|
||||||
|
FUNCTION Is_Object(P:Pointer):Boolean;
|
||||||
DESTRUCTOR Done; Virtual;
|
DESTRUCTOR Done; Virtual;
|
||||||
END;
|
END;
|
||||||
PObject = ^TObject;
|
PObject = ^TObject;
|
||||||
@ -954,6 +955,30 @@ BEGIN
|
|||||||
Dispose(PObject(@Self), Done); { Dispose of self }
|
Dispose(PObject(@Self), Done); { Dispose of self }
|
||||||
END;
|
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------------------------------------------------------------------}
|
{--TObject------------------------------------------------------------------}
|
||||||
{ Done -> Platforms DOS/DPMI/WIN/OS2 - Checked 10May96 LdB }
|
{ Done -> Platforms DOS/DPMI/WIN/OS2 - Checked 10May96 LdB }
|
||||||
{---------------------------------------------------------------------------}
|
{---------------------------------------------------------------------------}
|
||||||
@ -2761,7 +2786,10 @@ END;
|
|||||||
END.
|
END.
|
||||||
{
|
{
|
||||||
$Log$
|
$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
|
* truncated log
|
||||||
|
|
||||||
Revision 1.34 2000/01/07 16:41:34 daniel
|
Revision 1.34 2000/01/07 16:41:34 daniel
|
||||||
|
Loading…
Reference in New Issue
Block a user