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! |