<br><font size=2 face="sans-serif">> Before you call the procedure, it should be possible to use "sizeof".<br>
> It's just impossible, because it's untyped IN the procedure.<br>
> Try calling it like this:<br>
> Win32Write (Col, Row, SourceData, sizeof(SourceData));</font>
<br><font size=2 face="sans-serif"><br>
> if you finish the array with a null value you can know when is finish and so the length</font>
<br><font size=2 face="sans-serif">> of it. but as jonas said it'll be better to pass an argument to the function with the length</font>
<br><font size=2 face="sans-serif">> of the buffer:</font>
<br><font size=2 face="sans-serif">> Procedure Win32Write (Col,Row : byte; "length :dword;" var SourceData);</font>
<br>
<br>
<br><font size=2 face="sans-serif">Getting the length before calling the procedure was a PITA for the most part -- and sizeof still didn't return the correct values even, when used on the calling side of the code -- but the logic behind these two suggestions made a lot of sense. After some recoding I was able to get things to function a bit better. Thanks.</font>
<br>
<br><font size=2 face="sans-serif">Jim</font>