ActiveX und Bindevent

29/08/2008 - 09:42 von Jörg Schneider | Report spam
Moin!

Ich hab hier ein ActiveX Control
(http://www.netronic.de/produkte-fue...gramm.html) und
würde mich gerne per BindEvent() auf die Events schalten. Aber scheinbar
"feuert" das gebundene Event nicht.

Kann man sich nicht auf ActiveXCOntrols binden?

grüße
Jörg Schneider
 

Lesen sie die antworten

#1 Olaf Doschke
29/08/2008 - 13:43 | Warnen spam
Generell funktioniert das schon. Ich habe mich
eben testweise ans Click-Event eines
MSComctlLib.TreeCtrl.2 binden können.

Aber was spricht eigentlich dagegen in den vom
ActiveX gebotenen Methoden und Events ganz
normal zu programmieren?

Du nimmst Dir die Olecontrol-Basisklasse,
packst das ActiveX rein und kannst ganz
normal wie mit jeder VFP-Klasse inkl.
Vererbung programmieren.

Was sagt den der Object Browser über das
ActiveX aus? Insbesondere die Sektion
Interfaces? Da dürfte es ein Interface
...Events geben, was auch das Event-
typische Blitzsymbol hat. Wenn Du darin bei
Inherited Interface nicht IDispatch findest
(IDispatch erlaubt late Binding), kann das evtl.
die Ursache sein, daß BindEvent damit nicht
geht.

Denn dann könnte es sein, daß das Interface
nur early Binding erlaubt, d.h. Du mußt eine
entsprechnede VFP-Interface-Klasse imple-
mentieren, die die Interface-Events hat und Du
bindest dann ActiveX control und eine Instanz
dieser VFP-Klasse mittels Eventhandler()
zusammen.

Du könntest auch mit SYS(2333) experimentieren.
und das vor Instanzierung des Controls auf 1
setzen.

Tschüß, Olaf.

Ähnliche fragen