Thread Zugriffe auf .dll über Win32::API (17 answers)
Opened by Fabian at 2012-05-08 13:39

Gast Fabian
 2012-05-08 13:39
#158174 #158174
Liebe PERL-Gemeinde,
ich wende mich mit folgendem Problem an Euch:
Ich möchte auf eine Funktion in einer .dll zugreifen welche mir die Dichte von CO2 bei bestimmten Druck/Temperaturbedingungen berechnet.

Die .dll heißt Carbondioxide.dll und die Funktion dazu DOTP mit den Argumenten Druck und Temperatur. Diese Argumente sind als Referenz zu übergeben; der Rückgabewert erfolgt direkt als value schreiben die Autoren der .dll.

Mein Code crasht leider und ich würde mich freuen, wenn mir jemand helfen kann. VIELEN DANK VORAB!!!

CODE ->

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# header stuff
use feature ':5.10';
binmode(STDOUT, ":encoding(cp850)");
use Win32::API;
# header end



# *******************************
# -> THE MAGIC SHOULD START HERE:
# *******************************

# invoke the function 'DOTP' within the Carbondioxide.dll
# with 2 arguments, Double precision 'DD' and a Double precision return 'D'

# (shall calculate the density of co2 at given temperature in Kelvin and pressure in MPa)

# !!! ARGUMENTS shall be handed over BY REFERENCE whereas
# RETURN values of the function are given back BY VALUE

$function=Win32::API->new('CARBONDIOXIDE','DOTP','DD','D');

$T=300;
$P=6;

$return = $function->Call(\$T,\$P); # CRASHES here for unknown reason

say $return."\n";


modedit Editiert von GwenDragon: Code in CODE-Tags gestellt
Last edited: 2012-05-08 14:06:17 +0200 (CEST)

View full thread Zugriffe auf .dll über Win32::API