So, wie es Sirius gezeigt hat isses richtig!
Vielleicht noch zwei kleine Kritikpunkte bzw. Verbesserungen:
1.) Die Open-Funktion gibt ein
Handle (Referenz) zurück.
Dieses
Handle sollte im Objekt gespeichert werden und beim Freigeben des Objekts wird dann automatisch die Close-Funktion aufgerufen.
Das
Handle braucht der Anwender der Klasse wahrscheinlich gar nie zu Gesicht bekommen;
das vereinfacht den Umgang mit der Klasse.
2.) Man könnte den Code in zwei Klassen splitten:
Eine Klasse (Name: TIPS7_DLL) ist zuständig für das
DLL-
Handle und die Funktionszeiger in die
DLL.
Die andere Klasse (Name: TIPS7) stellt sozusagen eine Verbindung zur S7 dar.
Der Anwender sieht nur die Klasse TIPS7.
Intern verwendet TIPS7 ein Objekt der Klasse TIPS7_DLL (als Singleton implementiert) um die
DLL-Funktionen aufzurufen.