* vmtlink type changed to pointer

This commit is contained in:
pierre 1998-10-23 16:51:18 +00:00
parent a5efe8d0c4
commit 4844858fa6

View File

@ -297,7 +297,7 @@ TYPE
PStreamRec = ^TStreamRec; { Stream record ptr }
TStreamRec = RECORD
ObjType: Sw_Word; { Object type id }
VmtLink: Sw_Word; { VMT link }
VmtLink: pointer; { VMT link }
Load : Pointer; { Object load code }
Store: Pointer; { Object store code }
Next : PStreamRec; { Next stream record }
@ -969,7 +969,7 @@ END;
{---------------------------------------------------------------------------}
FUNCTION TStream.Get: PObject;
TYPE LoadPtr = FUNCTION (Var S: TStream; Link: Sw_Word; Iv: Pointer): PObject;
TYPE LoadPtr = FUNCTION (Var S: TStream; Link: pointer; Iv: Pointer): PObject;
VAR ObjType: Sw_Word; P: PStreamRec;
BEGIN
@ -1075,12 +1075,12 @@ END;
PROCEDURE TStream.Put (P: PObject);
TYPE StorePtr = PROCEDURE (Var S: TStream; AnObject: PObject);
VAR ObjType: Sw_Word; Link: Sw_Word; Q: PStreamRec; VmtPtr: ^Sw_Word;
VAR ObjType: Sw_Word; Link: pointer; Q: PStreamRec; VmtPtr: ^pointer;
BEGIN
VmtPtr := Pointer(P); { Xfer object to ptr }
Link := VmtPtr^; { VMT link }
ObjType := 0; { Set objtype to zero }
If (P<>Nil) AND (Link<>0) Then Begin { We have a VMT link }
If (P<>Nil) AND (Link<>Nil) Then Begin { We have a VMT link }
Q := StreamTypes; { Current reg list }
While (Q <> Nil) AND (Q^.VMTLink <> Link) { Find link match OR }
Do Q := Q^.Next; { Find end of chain }
@ -2734,7 +2734,10 @@ END;
END.
{
$Log$
Revision 1.9 1998-10-22 18:23:55 peter
Revision 1.10 1998-10-23 16:51:18 pierre
* vmtlink type changed to pointer
Revision 1.9 1998/10/22 18:23:55 peter
+ packed record for conversion records
Revision 1.8 1998/09/09 15:29:02 peter