Hallo,
warum soll das nicht gehen?
Weil eine Klassen-Methode als ersten (unsichtbaren) Parameter
einen Zeiger auf sich selbst (Self) besitzt.
Rufst du Jetzt Connect auf, rutschen die Parameter praktisch 1 nach rechts
und es kommt Müll raus.
result := self.IfmConnect(Form1.Handle, pChar(ipAddress), 8080, pChar(fwVersion), pChar(sensorType));
wird intern zu
result := self.IfmConnect(Self, Form1.Handle, pChar(ipAddress), 8080, pChar(fwVersion), pChar(sensorType));
Ich kann mich ja täuschen
Aber probier doch einfach zum Test mal LoadLibrary aus
oder ruf in deiner Connect direkt die statisch verlinkte
function IfmConnect; external myDll name '_O3D2XXConnect@20';.
auf.
Heiko