Thanks all for the help. I think Max may be right, and right about the
brain strain. It doesn't sound logical to me. Most of the standard Delphi
procedures can use a Delphi string parameter but not this one!
Thanks again, Ross.
Max Nilson wrote:
>
> Ross Levis asks:
>
> > The on-line help suggests the buffer parameter can be any
> variable type
> > so why doesn't it work?
>
> BlockWrite is defined as follows:
>
> procedure BlockWrite(var f: File; var Buf; Count: Integer
> [; var AmtTransferred: Integer]);
>
> and the key things is the var Buf; parameter. In Delphi land this is a
> parameter of any type, but what is actually passed is a pointer to the
> lvalue parameter. So if you use something like a char,
> integer or double,
> you will be passing a pointer to the location you are going
> to write from.
>
> But because Delphi strings are dynamically allocated, passing
> a sreing must
> be done carefully so as to pass a point to thew chacters you
> want to write,
> and not a pointer to a pointer to the characters 8-)
>
> So you must use Stringvar[1] as your parameter, which will
> actually pass
> @Stringvar[1] to the routine and things will work. Just one
> of those areas
> of Delphi that cause the brin some strain at times.
>
> Cheers, Max.
>
>
> --------------------------------------------------------------
> -------------
> New Zealand Delphi Users group - Delphi List -
> [EMAIL PROTECTED]
> Website: http://www.delphi.org.nz
> To UnSub, send email to: [EMAIL PROTECTED]
> with body of "unsubscribe delphi"
>
---------------------------------------------------------------------------
New Zealand Delphi Users group - Delphi List - [EMAIL PROTECTED]
Website: http://www.delphi.org.nz
To UnSub, send email to: [EMAIL PROTECTED]
with body of "unsubscribe delphi"