tw10807.pp 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. unit tw10807;
  2. interface
  3. {$mode delphi}
  4. uses
  5. Classes, SysUtils;
  6. const maxword = 65535;
  7. type
  8. PClrStreamHeader = ^TClrStreamHeader;
  9. TClrStreamHeader = packed record
  10. Name: array [0..MaxWord] of Char;
  11. end;
  12. TJclClrStream = class(TObject)
  13. constructor Create(const AMetadata: Tobject; AHeader: PClrStreamHeader); virtual;
  14. end;
  15. TJclClrStreamClass = class of TJclClrStream;
  16. tobjectlist = class
  17. procedure add(c: tobject);
  18. end;
  19. tJclPeImage=class(tobject)
  20. end;
  21. TJclPeMetadata = class(TObject)
  22. private
  23. FStreams: TObjectList;
  24. constructor Create(const AImage: TJclPeImage);
  25. end;
  26. implementation
  27. procedure tobjectlist.add(c: tobject);
  28. begin
  29. end;
  30. constructor TJclPeMetadata.Create(const AImage: TJclPeImage);
  31. function GetStreamClass(const Name: string): TJclClrStreamClass;
  32. begin
  33. end;
  34. procedure UpdateStreams;
  35. var
  36. pStream: PClrStreamHeader;
  37. I: Integer;
  38. begin
  39. FStreams.Add(GetStreamClass(pStream.Name).Create(Self, pStream));
  40. end;
  41. begin
  42. end;
  43. constructor TJclClrStream.Create(const AMetadata: Tobject; AHeader: PClrStreamHeader);
  44. begin
  45. end;
  46. end.