Hi Monks!!
I am using the Win32::API module to call a Dynamic Link Library(DLL)
named "chkValues.dll"). My DLL has a function in it called
adnValues:
extern "C" __declspec(dllexport)
double adnValues(double x, double y) {
double z;
z = x + y;
cout << x << " " << y << " " << z << endl;
return(z);
}
My perl script to call this looks like:
use Win32::API;
$fld1 = $ARGV[0];
$fld2 = $ARGV[1];
$myFunc =
Win32::API->new('adnValues', 'double adnValues(double x, double
y)');
$outval = $myFunc->Call($fld1, $fld2);
print "$outval";
When i am executing this, perl script exits at the Call line, giving me the "Perl
Command Line Interpreter has encountered a problem and needs to close.
We are sorry for the inconvenience" message.
I Noticed that if I change my dll function to take no arguments (hard coding
x and y within the function) and return a double, I have no issues,
e.g.
$myFunc = Win32::API->new('adnValues', 'double adnValues()');
$outval = $myFunc->Call();
I also tried the alternative syntax:
$myFunc = Win32::API->new('adnalues', 'adnValues', 'DD', 'D')
with no success. I'm strucking here pls help me monks ...
2006-10-07 Unapproved by planetscape once evidence of habitual plagiarism uncovered.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.