Thread Callback, Funktionsaufruf aus C nach Perl (10 answers)
Opened by fritz at 2005-11-14 16:14

fritz
 2005-11-14 16:14
#60104 #60104
User since
2005-10-19
44 Artikel
BenutzerIn
[default_avatar]
Hi liebe Perlgemeinde.

Nachdem ich mich jetzt schon seit knapp 3 Monaten intensiv mit Perl beschaeftige und schon oft dieses Forum nutzen konnte stehe ich nun vor einem kniffligen Problem.

folgendes:

Meine Aufgabe ist es Funktionen einer DLL ueber Perl aufzurufen und diese dann abzuarbeiten. Die aufgerufenen Funktionen sind im C Code geschrieben. Das klappt eigentlich ganz gut, mit allerdings einer Ausnahme.

Die Funktion lautet:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
QCV_Init
{
struct InitParam => { map { $_ => '$'} qw(MsgIdSingleStep MsgIdBreakpoint MsgIdStorage MsgIdState MsgIdWarning MsgIdCPUStopped)};
my $IP = InitParam->new();
$IP->MsgIdSingleStep(0);
$IP->MsgIdBreakpoint(1);
$IP->MsgIdStorage(2);
$IP->MsgIdState(3);
$IP->MsgIdWarning(4);
$IP->MsgIdCPUStopped(5);

my $return = $QVC{Init}->Call(callback(),\$IP);
}


jetzt das Problem, ich uebergebe der Funktion zwei Parameter, wobei der zweite davon ein Struct ist das ich definieren kann. Die Funktion der DLL speichert die Werte der Struct. Nachdem die Funktion aufgerufen wurde, soll die DLL eine Funktion in Perl oeffnen und an diese 4 Parameter uebergeben. Die Funktion heisst bei mir callback(). Das Problem ist nun das es mir nicht moeglich ist diese callback Funktion oeffnen zu lassen.

Bitte um Hilfe wie man so etwas machen kann.

PS: Der Funktionsaufruf funktioniert da ich von der DLL eine 1 zurueck bekomme wenn ich sie ausfuehre.

Nur die Sache mit der Callback Funktion haut eben noch nicht hin.

MFG

Fritz

Crian: Code-Tags\n\n

<!--EDIT|Crian|1132053212-->

View full thread Callback, Funktionsaufruf aus C nach Perl