hi,
Ich weiss jetzt nicht was der beste Weg ist, aber ich hab sowas ähnliches so gelöst:
Suche im Code (Typelibrary) von deinem
ActiveX nach sowas ähnlichen:
ClassID: '{591091BD-DF3E-4C2A-B91F-C29559D04590}';
Die
CLSID (in den geschwungenen Klammern) wird bei dir einen anderen Wert haben. Nach dem suchst du in der Registry. Dort suchst du nach einen Eintrag so ähnlich wie das Bild im Anhang. Der Text im roten Kästchen ist der Klassenname meiner
ActiveX-Kompo.
Du machst eine Variable vom Typ Variant
Delphi-Quellcode:
..
ActiveXVariable : Variant;
..
So kreierst du den Objekt (das S7TCPIP.S7TCP ist der Klassenname den du in der Registry findest)
ActiveXVariable := CreateOleObject('S7TCPIP.S7TCP')
So gibst du es wieder frei
ActiveXVariable := Unassigned;
Dazwischen kannst du dein Objekt ganz normal verwenden, allerdings gibts auf diesem Weg keine Typprüfung und auch keine Codevervollständigung. Es gibt noch einen anderen Weg, bei dem du diese Vorteile wieder hast, aber den hab ich leider nicht zu laufen bekommen.
BTW: Gehe ich recht in der Annahme, dass du auf S5-SPS zugreifen willst? Ich arbeite gerade an einer Kompo zur Kommuniktion mit einer S7 und bin soweit, dass ich mit der SPS kommunizieren kann, aber die Werte noch nicht richtig auslese.