--- In [email protected], "swzoh" <[EMAIL PROTECTED]> wrote:
>
> Hi Alan,
> 
> While I was writing a script, I encountered a situation to have to set
> a 'literal' string as an element of struct:
> tLogFont=dll.create_struct("i i i i i uc uc uc uc uc uc uc uc s",;;+
> nHeight,0,0,0,400,0,0,0,1,0,0,0,0,sFaceName)

I looked up LOGFONT.  No, I never anticipated that the api would
include such craziness.
 
> However, tLogFont.get_size always returned 32 regardless of whatever
> name is setted to sFaceName like "Tahoma" or "Courier New". So, it
> seems to be treated always as a pointer. Is this a intended 
> behavior?

Yes, "s" aka "string" is a pseudonym for char*.  Every use I've ever
seen for char*s in structs have been simply a pointer member, not
actually chucking the string into what then becomes a variable-length
struct.  

I'll try to think of a clever way of allowing such a thing, probably
by adding yet another modifier for "s".

In the meantime: how about making the last item a byteblock?  
byteblocks can contain whatever you want.  Be sure to include the
final \0.

I'd also though of array of chars and for/endfor to fill the 
individual chars.

I'll have a go over the weekend with byteblock: want to post me the
script you're using that requires LOGFONT?

> (:I tested also  s- instead of mere s, but the same result)
> 
> And, strangely, tLogFont[n] reported expected values until 5, but
> suddenly  gave some large numbers (seeming address) after. Notice the
> type cahnges after 5.

Error, will fix.
 
> OTOH, with array,
> a=dll.create_array("s","This ","is an array")
> a[1], a[2] gave expected results, however, a.get_size gave 8. (This
> one could be a correct behaviour, but I'm not sure)

Two pointers of length 4 each, sounds okay.
 







------------------------ Yahoo! Groups Sponsor --------------------~--> 
Check out the new improvements in Yahoo! Groups email.
http://us.click.yahoo.com/6pRQfA/fOaOAA/yQLSAA/JV_rlB/TM
--------------------------------------------------------------------~-> 

Attention: PowerPro's Web site has moved: http://www.ppro.org 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/power-pro/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 



Reply via email to