[Gambas-user] Read array of string return from external libraries function
Benoît Minisini
gambas at ...1...
Sat Apr 9 11:46:13 CEST 2011
> Thank Benoit!
>
> One more question about the below basic data structure:
>
> aStruct * anExternFunc(...)
>
> with:
>
> aStruct {
>
> aClass *data
> aStruct *previous
> aStruct *next
> }
>
>
> How to get all *data
> I tried
>
> pNext = anExternFunc(...)
> while pNext <> null
>
> pData = Pointer@(pNext)
>
> ...
>
> pNext = pData + SizeOf(gb.pointer)*2
>
> wend
>
> and failed.
>
--8<----------------------------------------------------------
pStruct = anExternFunc(...)
While pStruct
pData = Pointer@(pStruct)
...
pStruct = Pointer@(pStruct + Sizeof(gb.Pointer) * 2)
Wend
--8<----------------------------------------------------------
That should work. Does it?
You can use a memory stream and a structure too:
--8<----------------------------------------------------------
Struct MyDataSlot
Data As Pointer
Previous As Pointer
Next As Pointer
End Struct
...
Dim hMem As Stream
Dim hSlot As MyDataSlot
pStruct = anExternFunc(...)
While pStruct
hMem = Memory pStruct For Read
hSlot = Read #hMem As MyDataSlot
pData = hSlot.Data
...
pStruct = Pointer@(hSlot.Next)
Wend
--8<----------------------------------------------------------
Regards,
--
Benoît Minisini
More information about the User
mailing list