What's the best way to access fields within an UnManagedStruct, one returned from an NCI call? For example, if I call _new_SDL_Screen, how can I access the w and h fields of the SDL_Surface it returns?
I've tried creating an OrderedHash called layout and then doing:
set screen, layout
Is there a better way? I can provide more code if necessary.
Chromatic <chroma...@wgz.org> wrote: > Hi there, > What's the best way to access fields within an UnManagedStruct, one > returned from an NCI call? For example, if I call _new_SDL_Screen, how > can I access the w and h fields of the SDL_Surface it returns? > I've tried creating an OrderedHash called layout and then doing: > set screen, layout
Above statement just aliases both P-registers to point to the same thing,
_new_SDL_screen has a return type of 'p' - that is an UnManagedStruct pointing to that. You know, that the return type is a struct screen *.
So you create an initializer for that struct (above layout? - a bad name BTW) and *assign* it to the screen:
assign screen, screen_struct_layout w = screen["w"] # presumed your struct initializer defines that
On Sun, 2004-02-08 at 15:06, Leopold Toetsch wrote: > So you create an initializer for that struct (above layout? - a bad name > BTW) and *assign* it to the screen:
> assign screen, screen_struct_layout > w = screen["w"] # presumed your struct initializer defines that
> s. docs/pmcs/struct.pod
Hmm, I wasn't adding the _struct property for struct pointers, but it looks like I should do that. That's workable.
Now, I'm seeing an odd error whenever I use the 'loadlib' op, though:
set_pmc_keyed_str() not implemented in class 'PerlInt'
The backtrace oddness starts in imcc/parser.c 352, when it calls Parrot_load_lib().
Chromatic <chroma...@wgz.org> wrote: > Now, I'm seeing an odd error whenever I use the 'loadlib' op, though: > set_pmc_keyed_str() not implemented in class 'PerlInt'
On Mon, 2004-02-09 at 13:34, Leopold Toetsch wrote: > chromatic <chroma...@wgz.org> wrote: > > Now, I'm seeing an odd error whenever I use the 'loadlib' op, though:
> > set_pmc_keyed_str() not implemented in class 'PerlInt' > Time for an example ;)
I see it on examples/sdl/anim_parrot_logo.imc with a fresh build.