myobject.pp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. Unit MyObject;
  2. Interface
  3. Uses Objects;
  4. Type
  5. PMyObject = ^TMyObject;
  6. TMyObject = Object(TObject)
  7. Field : Longint;
  8. Constructor Init;
  9. Constructor Load (Var Stream : TStream);
  10. Destructor Done;
  11. Procedure Store (Var Stream : TStream);
  12. Function GetField : Longint;
  13. Procedure SetField (Value : Longint);
  14. end;
  15. Implementation
  16. Constructor TMyobject.Init;
  17. begin
  18. Inherited Init;
  19. Field:=-1;
  20. end;
  21. Constructor TMyobject.Load (Var Stream : TStream);
  22. begin
  23. Stream.Read(Field,Sizeof(Field));
  24. end;
  25. Destructor TMyObject.Done;
  26. begin
  27. end;
  28. Function TMyObject.GetField : Longint;
  29. begin
  30. GetField:=Field;
  31. end;
  32. Procedure TMyObject.SetField (Value : Longint);
  33. begin
  34. Field:=Value;
  35. end;
  36. Procedure TMyObject.Store (Var Stream : TStream);
  37. begin
  38. Stream.Write(Field,SizeOf(Field));
  39. end;
  40. Const MyObjectRec : TStreamRec = (
  41. Objtype : 666;
  42. vmtlink : Ofs(TypeOf(TMyObject)^);
  43. Load : @TMyObject.Load;
  44. Store : @TMyObject.Store;
  45. );
  46. begin
  47. RegisterObjects;
  48. RegisterType (MyObjectRec);
  49. end.