At 10:40 -0400 2002.04.22, Ed Wall wrote:
>$n->make(new => 'field', with_properties => {name => 'Name', type =>
>'tString', 'length' => 50}, at => location(end => $Customer));
>
>and I am having difficulty in getting the type to be compiled
>correctly. In the generated Pod the "Enumerations" lists tString as
>being of VLst and this works fine:
>
>$n->make(new => 'field', with_properties => {name => 'Name', type =>
>'VLst', 'length' => 50}, at => location(end => $Customer));
>
>as does this
>
>$n->make(new => 'field', with_properties => {name => 'Name', type =>
>VLst, 'length' => 50}, at => location(end => $Customer));
>
>although I get if I capture AppleEvents, VLtp:'VLst' rather than
>VLtp:VLst (as I do with AppleScript).
>
>However, using VLst rather than tString seems less than elegant (and
>I still wonder about 'VLst'). How could one modify my first try (i.e.
>with tString) to make it work?
To use enumerations in Mac::Glue, you need to use the enum() function. It
basically marks that string as an enumeration; while AppleScript can mark
it as such during compilation, we don't know what it is in Perl. So this
should work:
use Mac::Glue ':all';
$n->make(new => 'field', with_properties => {name => 'Name', type =>
enum('tString'), 'length' => 50}, at => location(end => $Customer));
See the docs for more information. There's no example of it, but it is
mentioned. :-)
--
Chris Nandor [EMAIL PROTECTED] http://pudge.net/
Open Source Development Network [EMAIL PROTECTED] http://osdn.com/