Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]12133[/thread]

Win32::API: Wie importiere ich Rückgabetyp string

Leser: 3


<< >> 3 Einträge, 1 Seite
burnersk
 2008-07-04 19:18
#111853 #111853
User since
2008-03-25
83 Artikel
BenutzerIn
[default_avatar]
Hi.

Ich habe ein kleines Problem mit CPAN:Win32::API und einer importierten Funktion, die einen string zurückgibt.

Die DLL, in der die Funktion enthalten ist, lässt sich mit Win32::API ansprechen, da andere Funktionen mit Rückgabetyp int usw funktionieren.

Nun meine Frage, wie importiere ich eine Funktion, die einen string zurückgibt?

Mit
Code (perl): (dl )
Win32::API->Import( 'sevLock.dll', 'char Version()[250]' );
funktioniert es nicht. Auch nicht "char[250] ...".

Kennt sich jemand mit Win32::API aus?

Die standard Win32-DLL binde ich z. B. in VB.NET so ein:
Code: (dl )
Public Declare Function sevLock_Version Lib "sevLock.dll" Alias "Version" () As String


Anmerkung:
Wenn ich "sevLock_Version" versuche zu importieren klappt es nicht. Nur wenn ich "sevLock_" weglasse.
Und nochmal: Ich habe es mit einer anderen Funktion in der gleichen DLL erfolgreich getestet, die int zurückgibt.
murphy
 2008-07-04 22:48
#111862 #111862
User since
2004-07-19
1776 Artikel
HausmeisterIn
[Homepage]
user image
Vermutlich wird
Code (perl): (dl )
Win32::API->Import( 'sevLock.dll', 'LPCSTR Version()' );

oder vielleicht auch
Code (perl): (dl )
Win32::API->Import( 'sevLock.dll', 'char *Version()' );

funktionieren.
When C++ is your hammer, every problem looks like your thumb.
esskar
 2008-07-08 11:49
#111930 #111930
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
auch mal CPAN:Win32::API::Interface anschauen.
<< >> 3 Einträge, 1 Seite



View all threads created 2008-07-04 19:18.