Hej jag har ett litet problem. Får det att funka utan problem: Jag gör presis som du skriver, och det funkar bra till 90%.Problem med WithEvents
När jag laddar ocx:er dynamiskt så får jag problem med WithEvents.
Det funkar om jag kompilerar om och bryter kompatibiliteten, men det är inte så roligt att behöva göra det.
Jag har gjort enligt.
<code>
Private WithEvents moEvents As VBControlExtender
Private Sub loadOCX(ByVal rsPlugInNamn as String)
Set moEvents = Controls.Add(rsPlugInNamn, "ctl1")
End Sub
Private Sub moEvents_ObjectEvent(Info As EventInfo) 'Kommer ej hit.
If UCase(Info.Name) = "MITT EVENT" Then
End If
End Sub
</code>
Men eventet kommer aldrig fram tyvärr.
Det funkar alltid om jag har ocxen i formuläret när jag startar det, men inte om jag laddar det dynamiskt.
//TobbeSv: Problem med WithEvents
Kontrol:
Option Explicit
Public Event Test()
Private Sub UserControl_Click()
RaiseEvent Test
End Sub
Projekt:
Option Explicit
Private WithEvents moEvents As VBControlExtender
Private Sub Form_Load()
Set moEvents = Controls.Add("AddInLib.AddInTest", "ctl1")
moEvents.Visible = True
End Sub
Private Sub moEvents_ObjectEvent(Info As EventInfo)
Debug.Print Info.Name
End Sub
Kan det vara så att du försöker utföra RaiseEvent i Initialize?Sv: Problem med WithEvents
Och det är det som är problemet, att det inte funkar helatiden.
Ibland så hjälper det att kompelera en ny ocx och ibland måste jag bryta kompatibileteten.
Men jag gillar inte att jag inte vet varför det inte alltid funker.
Koden som har funkat kan sluta att funka en dag, eller så funkar det på en dator emn inte en annan.
//Tobbe