Hi -
You need to create an instance of ExternalData and pass this in. For
example:
setPath: aString
"Set the path in this structure from a Squeak string"
| xHandle xData |
xHandle:= ExternalAddress allocate: aString size+1.
1 to: aString size do:[:i| xHandle byteAt: i-1 put: (aString byteAt: i)].
xHandle byteAt: aString size put: 0.
xData := ExternalData fromHandle: xHandle type: ExternalType char
asPointerType.
^self path: xData
Hope this helps,
- Andreas
Udo Schneider wrote:
> Hi,
>
> I defined an FFI Structure using
>
> MyStruc class>>fields
> ^#( #path 'char*) )
>
> After calling define Fields I see that the wrappers are generated.
> However I not quite sure how to pass a Smalltalk String in.
>
> Something like
>
> MyStruc new path: '/home/udos/'
>
> does not work.
>
> Any pointers?
>
> CU,
>
> Udo
>
>
>