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/

Reply via email to