Schrift
[thread]6207[/thread]

PerlEz: Aufruf einer Funktion in einer Datei



<< >> 5 Einträge, 1 Seite
wolfi08152
 2004-04-21 18:18
#81763 #81763
User since
2004-04-21
7 Artikel
BenutzerIn
[default_avatar]
Hallo
Ich habe ein Problem mit den Funktionen aus der PerlEz.dll
Ich würde gerne eine Funktion aus einer Perldatei mit perlezcall aufrufen....aber es funktioniert leider nicht...kann mir da irgendwer weiterhelfen.....Vielen Dank im vorraus
gruß
Wolfi
Knuddlbaer
 2004-04-21 19:05
#81764 #81764
User since
2004-04-13
32 Artikel
BenutzerIn
[default_avatar]
Was genau versuchst Du ?
Welche Fehlermeldung bekommst Du dabei ? (bzw. was klappt nicht ?)
wolfi08152
 2004-04-22 10:12
#81765 #81765
User since
2004-04-21
7 Artikel
BenutzerIn
[default_avatar]
ich möchte von einem C Programm heraus den Perlinterpreter benutzen. Und als Schnittstelle habe ich die Perlez.dll benutzt. ich habe mir zum testen mal eine Perlfile mit zwei funktionen geschrieben und sieht so aus:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
sub FILEWRITE{
$erfolg = open(OUTFILE, ">test.txt");
if(!$erfolg){
print "kann daten nicht &”ffnen \n";
exit 1;
}
print OUTFILE " hallo weltadfasdf; test \n";
close OUTFILE;
$test = Alles Erfolgreich;
return $test;
}

sub MAX{
my $x = $_[0];
my $y = $_[1];
if($x>$y){
return $x;
}else{
return $y;
}
}


ich möchte nun die Funktionen über ein C Programm heraus aufrufen. Das C Codefragment sieht wie folgt aus.
Code: (dl )
1
2
3
4
            PERLEZHANDLE myperl;
myperl = PerlEzCreate(filename, NULL);
int ez=0;
ez = PerlEzCall1(myperl, fname,ergebnis ,8 ,NULL,test );

wenn ich nun den Funktionsname (2.parameter aufruf und richtige parameter übergebe funktioniert es nicht obwohl es in der doku so beschrieben ist. Hinzu kommt das eine Datei in der der Code in keiner Funktion geschachtel ist ausgeführt wird wenn ich als 2. parameter gar nix übergebe. Ich hoffe ich habe es einigermaßen verständlich beschreiben können. Vielen Dank nochmal im vorraus.


edit renee: [code]-Tags eingefügt\n\n

<!--EDIT|renee|1082614699-->
Crian
 2004-04-23 17:18
#81766 #81766
User since
2003-08-04
5867 Artikel
ModeratorIn
[Homepage]
user image
Also ich kenne perlez nicht. Aber zu Deinem Perlcode:

Tipp 1) Du solltest Deine Variablen mit my auf ihren Lebensraum beschränken und dies mit [/tt]use strict;[/tt] überprüfen. Ein zusätzliches use warnings kann auch nicht schaden.

Ich weiß zum Beispiel nicht, was diese Zeile

Code: (dl )
$test = Alles Erfolgreich;


bewirken soll, da fehlen wohl irgendwelche Zeichen. Alles könnte natürlich eine Funktion sein, aber dann fehlt trotzdem noch was.

Tipp 2): $! enthält bei Fehlermeldungen nach Öffnen etc. den Grund, es ist dehalb empfehlenswert, diese Variable mit auszugeben.

Tipp 3): perldoc perlstyle
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
wolfi08152
 2004-04-26 10:28
#81767 #81767
User since
2004-04-21
7 Artikel
BenutzerIn
[default_avatar]
Hallo,

Erstmal Danke für die Hilfe. Nunja ich muß auch gestehen das ich blutiger Anfänger in Perl bin und ich im Moment noch nicht viel Ahnung habe. Diese Skripts sind eigentlich nur zum testen, ob der in einem C Programm eingebettete Perl Interpreter (der mit Perlez aufgerufen wird) funktioniert.
<< >> 5 Einträge, 1 Seite



View all threads created 2004-04-21 18:18.