mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-10 15:58:17 +02:00
50 lines
1.0 KiB
ObjectPascal
50 lines
1.0 KiB
ObjectPascal
{ Source provided for Free Pascal Bug Report 4519 }
|
|
{ Submitted by "Martin Schreiber" on 2005-11-17 }
|
|
{ e-mail: }
|
|
program project1;
|
|
{$mode objfpc}{$h+}
|
|
uses
|
|
classes;
|
|
|
|
type
|
|
ttestcomp = class(tcomponent)
|
|
private
|
|
fstringvar: string;
|
|
procedure readstringvar(reader: treader);
|
|
procedure writestringvar(writer: twriter);
|
|
protected
|
|
procedure defineproperties(filer: tfiler); override;
|
|
end;
|
|
|
|
{ ttestcomp }
|
|
|
|
procedure ttestcomp.readstringvar(reader: treader);
|
|
begin
|
|
fstringvar:= reader.readstring;
|
|
end;
|
|
|
|
procedure ttestcomp.writestringvar(writer: twriter);
|
|
begin
|
|
writer.writestring(fstringvar);
|
|
end;
|
|
|
|
procedure ttestcomp.defineproperties(filer: tfiler);
|
|
begin
|
|
filer.defineproperty('stringvar',@readstringvar,@writestringvar,true);
|
|
end;
|
|
|
|
var
|
|
testcomp: ttestcomp;
|
|
stream1,stream2: tmemorystream;
|
|
|
|
begin
|
|
testcomp:= ttestcomp.create(nil);
|
|
stream1:= tmemorystream.create;
|
|
stream1.writecomponent(testcomp);
|
|
stream1.position:= 0;
|
|
stream2:= tmemorystream.create;
|
|
objectbinarytotext(stream1,stream2); //<- AV
|
|
stream1.free;
|
|
stream2.free;
|
|
end.
|