can you offer a solution??

Thaks, Jeremy Coulter

-----Original Message-----
From: Aaron Scott-Boddendijk [mailto:[EMAIL PROTECTED]]
Sent: Wednesday, April 14, 1999 10:22 AM
To: Multiple recipients of list delphi
Subject: Re: [DUG]: Passing record structures


>> I now want to step it up a notch, and start getting some structure to the
>> way things happen, and thought a record structure is one of the best ways
of
>> adding structure to data. (kind of)
>> I am using strings in my records, but I guess I can change it to a PChar.
>> so how do I treat it as a memory block ?


Anything in your records that is a reference type cannot be converted to a
byte stream
for sending directly.

You should use shortstrings (which are not reference types) or use a class
instead of a
record type and implement a SaveToStream, LoadFromStream type functions.

>procedure HandleItSomeHow(Var Rec; Size : Longint);
>Var 
>  S : String; //make sure its a LONG string
>begin
>  SetLength(S,Size);
>  Move(rec,@s[1],size);
>  StreamStringOverNetwork(s);
>end;


if the record being converted to a bytestream contains strings (long) or
reference types such as TObject references or PChars/Pointers then the
resulting
record read in at the other end would be invalid as the referenced
information
wasn't sent.

--
Aaron Scott-Boddendijk
Jump Productions
(07) 838-3371 Voice
(07) 838-3372 Fax


---------------------------------------------------------------------------
    New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
                  Website: http://www.delphi.org.nz
---------------------------------------------------------------------------
    New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
                  Website: http://www.delphi.org.nz

Reply via email to