Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses
 
PerlMonks  

When magic goes awry - Tk and OLE mysterious problem

by John M. Dlugosz (Monsignor)
on Nov 21, 2002 at 23:13 UTC ( [id://214952]=perlquestion: print w/replies, xml ) Need Help??

John M. Dlugosz has asked for the wisdom of the Perl Monks concerning the following question:

This took some figuring, let me tell you!

Here's what I figured out:

A statement like

my $database= new Win32::OLE:: "SourceSafe"; $database->Open ($name);
fails if the variable $name is bound to a Tk text widget. Just making a local copy of the value and using that copy works fine!

My guess is that the XS code behind the OLE method generator is assuming plain scalars and doesn't like tied variables.

Ouch.

—John

Replies are listed 'Best First'.
Re: When magic goes awry - Tk and OLE mysterious problem
by theorbtwo (Prior) on Nov 21, 2002 at 23:29 UTC

    Another workaround would probably be to force stringification (or numification, if approprate). That is, do $database->Open ("$name");.


    Warning: Unless otherwise stated, code is untested. Do not use without understanding. Code is posted in the hopes it is useful, but without warranty. All copyrights are relinquished into the public domain unless otherwise stated. I am not an angel. I am capable of error, and err on a fairly regular basis. If I made a mistake, please let me know (such as by replying to this node).

Re: When magic goes awry - Tk and OLE mysterious problem
by mpeppler (Vicar) on Nov 22, 2002 at 01:23 UTC
    There are lots of gotchas with magic variables when writing XS code.

    My earliest exposure was when checking for a number (via SvNOK(sv)) and getting a false return - because the perl variable was tainted...

    Michael

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://214952]
Approved by Mr. Muskrat
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (7)
As of 2024-04-16 07:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found