Versteh' ich nicht ganz.
Ich mach das so: In der DLL gibt es eine "INIT" Function (gleich mit den oa Parametern), die eine "COMPORT" Klasse erzeugt.
die adresse dieser Klasse gibt er als neutrales "Handle"-Integer zurück, (dadurch braucht das aufrufende Programm die klasse nicht zu kennen.)
Bei jedem Function-Call bekommt die DLL als ersten Parameter (ist übersichtlicher) diese Handle und kann dann um eine Ecke herum die div. Methoden aufrufen
z.B.
Ach ja, da gehört noch das DLL-Brimborium dazu, damit man die DLL auch mit anderen Sprachen als C verwenden kannCode:// DLL int ComPortInit( argumente......) { ComClass* pClass = new blabla pClass->methode(xyz); return (int)pClass } // Methode int Whatever( int Handle, args....) { int result; ComClass* pClass = (ComClass*)Handle; result = pClass->Methode(args); return(result): } // Aufruf int MyHandle = ComPortInit(...) int result = Whatever(MyHandle, args....)
Lesezeichen