Ik ben bezig met het ontwikkelen van een ActiveX component. Het is een symbool waar een bedieningsschermpje verschijnt als er op geklikt wordt. Elke symbool heeft verschillende properties / functies / subs.
Wanneer er 2 of meer componenten op een formulier geplaatst zijn gaat het niet goed. Het komt er eigenlijk op neer dat beide bedieningsschermen het eerste op het formulier geplaatste component bedienen en niet zichzelf.
Het bestaat dus uit een
Usercontrol (daar is het symbool zichtbaar)
en een
Bedieningsscherm
Ik heb er een (verkleind) testprogrammatje voor gemaakt dat het zelfde probleem heeft.
Om het Usercontrol en alle verschillende properties / functies / subs bekend te maken in het bedieningsscherm heb ik dit toegevoegd:
en in het bedieningsscherm (frmBediening) staat dit:
Verder zit er een label op het bedieningsscherm met een IDnummer die als volgt gezet wordt:
Nu plaats ik 2 van mijn eigen componenten op een formulier en geef ik ze respectievelijk IDnummer 1 & 2.
Runnen.
Bij beide bedieningsschermen is nu IDnummer = 1 te zien. Maw. er wordt niet naar de eigen UserControl verwezen, maar naar de eerst geplaatste. Ik vind dit zo vreemd, want hoe weten die 2 ActiveX componenten nou wat van elkaar? Heeft iemand een idee waar mijn probleem kan liggen?
Wanneer er 2 of meer componenten op een formulier geplaatst zijn gaat het niet goed. Het komt er eigenlijk op neer dat beide bedieningsschermen het eerste op het formulier geplaatste component bedienen en niet zichzelf.
Het bestaat dus uit een
Usercontrol (daar is het symbool zichtbaar)
en een
Bedieningsscherm
Ik heb er een (verkleind) testprogrammatje voor gemaakt dat het zelfde probleem heeft.
Om het Usercontrol en alle verschillende properties / functies / subs bekend te maken in het bedieningsscherm heb ik dit toegevoegd:
code:
1
2
3
| Private Sub UserControl_Initialize()
frmBediening.setCTRL Me
End Sub |
en in het bedieningsscherm (frmBediening) staat dit:
code:
1
2
3
4
5
| Private CTRL As UserControl1
Public Sub setCTRL(ByRef ctl As UserControl1)
Set CTRL = ctl
End Sub |
Verder zit er een label op het bedieningsscherm met een IDnummer die als volgt gezet wordt:
code:
1
2
3
| Private Sub Timer1_Timer()
lblIDNUMMER = CTRL.getID
End Sub |
Nu plaats ik 2 van mijn eigen componenten op een formulier en geef ik ze respectievelijk IDnummer 1 & 2.
Runnen.
Bij beide bedieningsschermen is nu IDnummer = 1 te zien. Maw. er wordt niet naar de eigen UserControl verwezen, maar naar de eerst geplaatste. Ik vind dit zo vreemd, want hoe weten die 2 ActiveX componenten nou wat van elkaar? Heeft iemand een idee waar mijn probleem kan liggen?