- Recompilación en Delphi10 de todos los paquetes de RO para generar las DCU's en Lib\D10 - Recompilación en Delphi10 de todos los paquetes de DA para generar las DCU's en Lib\D10 git-svn-id: https://192.168.0.254/svn/Componentes.Terceros.RemObjects@9 b6239004-a887-0f4b-9937-50029ccdca16
61 lines
1.9 KiB
ObjectPascal
61 lines
1.9 KiB
ObjectPascal
unit MegaDemoCustomClass;
|
|
|
|
interface
|
|
|
|
uses uROTypes;
|
|
|
|
type
|
|
TCustomClass = class(TROComplexType)
|
|
private
|
|
FRandomInt: integer;
|
|
fRandomDouble: double;
|
|
FRandomStr: string;
|
|
FRandomWideStr: widestring;
|
|
public
|
|
procedure ReadComplex(ASerializer: TObject); override;
|
|
procedure WriteComplex(ASerializer: TObject); override;
|
|
published
|
|
property RandomInt: integer read FRandomInt write FRandomInt;
|
|
property RandomDouble: double read FRandomDouble write FRandomDouble;
|
|
property RandomStr: string read FRandomStr write FRandomStr;
|
|
property RandomWideStr: Widestring read FRandomWideStr write FRandomWideStr;
|
|
end;
|
|
|
|
function NewCustomClass: TCustomClass;
|
|
|
|
implementation
|
|
uses SysUtils, uROSerializer, typInfo;
|
|
|
|
function NewCustomClass: TCustomClass;
|
|
begin
|
|
result := TCustomClass.Create;
|
|
Result.RandomInt := Random(1000);
|
|
Result.RandomDouble := Random * 1000;
|
|
Result.RandomStr := IntToStr(Random(1000)) + '(string)';
|
|
Result.RandomWideStr := IntToStr(Random(1000)) + '(widestring)';
|
|
end;
|
|
|
|
{ TCustomClass }
|
|
|
|
procedure TCustomClass.ReadComplex(ASerializer: TObject);
|
|
begin
|
|
TROSerializer(ASerializer).ReadInteger('RandomInt',otULong,FRandomInt);
|
|
TROSerializer(ASerializer).ReadDouble('RandomDouble',ftDouble,FRandomDouble);
|
|
TROSerializer(ASerializer).ReadUTF8String('RandomStr',FRandomStr);
|
|
TROSerializer(ASerializer).ReadWideString('RandomWideStr',FRandomWideStr);
|
|
end;
|
|
|
|
procedure TCustomClass.WriteComplex(ASerializer: TObject);
|
|
begin
|
|
TROSerializer(ASerializer).WriteInteger('RandomInt',otULong,FRandomInt);
|
|
TROSerializer(ASerializer).WriteDouble('RandomDouble',ftDouble,FRandomDouble);
|
|
TROSerializer(ASerializer).WriteUTF8String('RandomStr',FRandomStr);
|
|
TROSerializer(ASerializer).WriteWideString('RandomWideStr',FRandomWideStr);
|
|
end;
|
|
|
|
initialization
|
|
RegisterROClass(TCustomClass);
|
|
Randomize;
|
|
end.
|
|
|