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

Zugriff auf DLL's: wie macht man das? (Seite 2)

Leser: 1


<< |< 1 2 3 >| >> 22 Einträge, 3 Seiten
Rambo
 2004-01-15 15:20
#79105 #79105
User since
2003-08-14
803 Artikel
BenutzerIn

user image
ich hab jetzt mal swig modul ausprobiert und es generiert
eine PM datei. soweit scheint das zu funktionieren. jetzt
muss ich nur noch heraus finden was man damit macht.

bis dann remo
esskar
 2004-01-16 02:01
#79106 #79106
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
eine dll sollte niemals eine c++ interface exportieren, da diese nur von anderen c++ programmen eingebunden werden können... außerdem sollte auch die c-lib bei beiden (dll und einbindenes programm) die selbe sein!

deswegen: hast du vielleicht ein stück des java-codes?\n\n

<!--EDIT|esskar|1074211329-->
Rambo
 2004-02-07 19:11
#79107 #79107
User since
2003-08-14
803 Artikel
BenutzerIn

user image
Hallo,

habe mal wieder etwas zeit gefunden meinem DLL problem
nach zu gehen.
kann mir evtl. jemand helfen wie ich diesen c++ code in
perl übersetzen kann?
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
string ConfigString = "Type=PEP\nName=LHVDUSTO\nRID=0x31\n";
ConfigString += "SID=0x53\nServer=57.20.55.123\n";
ConfigString += "OpenTimeout=10000\n";

VIA::CTerm * UTS = VIA::CreateTerm(ConfigString.c_str());

if (UTS != NULL)
{
  if (UTS->Open() == 0)
  {
     if (UTS->SR("DA") == 0)   // SR = Send/Receive
     {
        printf(UTS->GetBuffer());
     }

     UTS->Close();
  }

  VIA::DeleteTerm(UTS);
}


mir kommt es primär auf diesen Teil an
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
if (UTS != NULL)
{
  if (UTS->Open() == 0)
  {
     if (UTS->SR("DA") == 0)   // SR = Send/Receive
     {
        printf(UTS->GetBuffer());
     }

     UTS->Close();
  }

  VIA::DeleteTerm(UTS);
}


danke schon mal
gruss remo
Rambo
 2004-02-08 12:31
#79108 #79108
User since
2003-08-14
803 Artikel
BenutzerIn

user image
kann mir evtl. jamand sagen was dieser Teil in C++ bedeutet
Code: (dl )
if (UTS != NULL)

und wie ich es in perl schreiben kann?

gruss remo
eisbeer
 2004-02-08 14:24
#79109 #79109
User since
2003-08-29
347 Artikel
BenutzerIn
[Homepage] [default_avatar]
Ich kann zwar kein C++, nichtmal ansatzweise,
aber ich gehe davon aus:

Code: (dl )
if ($uts != 0)

oder
Code: (dl )
if (defined $uts)

!?
Die meisten PC Probleme befinden sich zwischen Bildschirm und Stuhl...
Crian
 2004-02-09 14:20
#79110 #79110
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Ich würd sagen letzteres.
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
esskar
 2004-02-09 20:58
#79111 #79111
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
nein...

NULL ist meistens definiert als

Code: (dl )
#define NULL (void*)0


also

Code: (dl )
$uts != 0


ist richtig!
esskar
 2004-02-09 20:59
#79112 #79112
User since
2003-08-04
7321 Artikel
ModeratorIn

user image
@Rambo:

kapsel deinen C++ Code mal in eine C Dll...
dann kannst du sie dann einfach via Win32::API einbinden!
Crian
 2004-02-10 10:37
#79113 #79113
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Der Standard legt nicht fest, wie NULL definiert ist, aber wie es sich verhalten soll.

NULL ist der Wert für pointer, der aussagt, dass diese "nirgendwohin" zeigen, sprich uninitialisiert sind. Deshalb ist meines Erachtens nach undef das beste Perl-Äquivalent.

Aber das mag auch vom genauen Zusammenhang abhängen.
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
Rambo
 2004-02-10 10:52
#79114 #79114
User since
2003-08-14
803 Artikel
BenutzerIn

user image
Hallo,
merci für die Antworten!
also der wert der zurück gegeben wird wenn die
communication richtig erfolgreich ist, ist 0!
habe allerdings noch problem mit der dll selbst
da der API Call noch nicht so funktioniert und ich
im moment noch nicht mal richtig an die DLL ran komme.

@esskar wie mach ich das in c kapseln?

merci an alle schon mal
remo
<< |< 1 2 3 >| >> 22 Einträge, 3 Seiten



View all threads created 2004-01-13 12:59.