Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: Calls to win32 hanging in cgi not in command line

by bulk88 (Priest)
on Aug 06, 2013 at 20:03 UTC ( #1048173=note: print w/ replies, xml ) Need Help??


in reply to Calls to win32 hanging in cgi not in command line

"Win32::API" with a file called "API.pm" being used? If so, I might be able to help if you describe more, but you said your not a programmer. I am a maintainer of the Win32::API module.


Comment on Re: Calls to win32 hanging in cgi not in command line
Re^2: Calls to win32 hanging in cgi not in command line
by cappabi (Initiate) on Aug 06, 2013 at 20:54 UTC
    Oh my - I feel honored to have your response! Here is a sample of a subroutine that calls the api.pm and is not coming back (the database name is a passed through as a "topic", and to reiterate, this works in the command line):
    my $OpenTopic = new Win32::API ("pmdbf32", "OpenTopic", [P, P], N); sub open { my $self = shift; my $topic = shift || "-NA-"; # Topic Name provided? my ($lpTopic, $Topic, $return, $handle); # Already Open? return (-1) if $self->opened(@_); # If no topic is passed, but one was defined previously # then assign $topic that value $topic = $self->{TOPIC} if ($topic eq "-NA-") and (defined($self-> +{TOPIC})); # Return if empty Topic name return (-1) if ($topic eq "-NA-") and (! defined($self->{TOPIC})); # Allocate/Format the data $lpTopic = pack("L", 0); $Topic = pack("a16",$topic); #This is the line that is failing ***** $return = $OpenTopic->Call($Topic, $lpTopic); # Opened Topic OK? if ($return == 0) { ($self->{HANDLE}) = unpack("L", $lpTopic); $self->{TOPIC} = $topic; } else { return (-1); } return $return; }
    Does this provide any insight? Thank you so much!
      Sorry I'm replying so late,
      my $OpenTopic = new Win32::API ("pmdbf32", "OpenTopic", [P, P], N);
      That is wrong, bare letters aren't letters but subs to run. Put single quotes around the parameter letter codes. And add a ".dll" to dll file name. You dont have to, it makes code easier to read.

      are you running on 64 bit or 32 bit windows? What the the C prototype of that OpenTopic function?

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1048173]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (9)
As of 2014-09-21 19:42 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (175 votes), past polls