>>>>>>How to copy the contents of a blob field in a table into an array of bytes.
>>>>>>
>>>>>
>>>>>VFP doesn't have byte data type. Please clarify.
>>>>
>>>>It does *sortof*. I've defined arrays as byte (DIME aTest[100] as BYTE, aTest = 'X') to pass to COM servers and they are recognized as VT_UI1. TYPE() in VFP returns 'N'. I guess it depends on what the array is to be used for.
>>>
>>>
>>>Sergey & Gary,
>>>
>>>Thanks for responding to my posting.
>>>
>>>Actually, my purpose has to do with COM. I'm developing a COM server. The client will pass a reference (pointer) to a byte array to the COM sever. The COM server will transfer the data from the blob field into the byte array.
>>>
>>>So, how, in my VFP COM server can I transfer the data from the blob into the byte array?
>>>
>>>Looks like VFP Dimension statement knows about the Byte data type, by the CAST function does not.
>>>
>>>Thanks,
>>>Jim
>>
>>
>>Does something like the following work?
>>
>>DIME MyPassedArray[LEN(MyBlob)]
>>
>>FOR nInc = 1 TO LEN(MyBlob)
>> MyPassedArray[nInc]=SUBSTR(MyBlob,nInc,1)
>>ENDFOR
>
>Gary,
>I just got to try your suggestion. The blob field is part of a view. When I try the code you suggest:
>
> FOR nIx = 1 TO nBlobSize
> nBlobData[nIx] = SUBSTR(BlobData, nIx, 1)
> ENDFOR
>
>Where, BlobData is the name of the blob field in the view. I get the following error message:
>
> Function argument value, type, or count is invalid
>
>I get the sam error if I use vMyView.BlobData as the first argument.
>Again, thanks for your suggestions.
>Jim
What is the type of the BlobData field?
If it's not broken, fix it until it is.
My Blog