| Claudio Burini |
Intercettare eventi .net da vb6
Ho implementato una classe vb .net. Devo però mantenere la compatibilità con le precedenti versioni di vb (vb6 per essere più precisi). La dll è già funzionante in .net solo che in vb6 non riesco ad intercettare gli eventi.
Ho già messo i 3 guid nella dll.net con la check dell'interoperabilità negli strumenti (infatti la classe funziona correttamente in vb6 eventi a parte). Quando da vb6 provo a dichiarare l'oggetto con il withevents mi esce un errore di automazione (una cosa del tipo: "non sono previsti eventi di automazione per questa interfaccia" o simile). Dal visualizzatore degli oggetti trovo tra i dati della dll una classe (NomeEventoHandler) che non ho creato io ma che si assomiglia molto al mio evento...intuisco che in teoria dovrò utilizzare quella per intercettare l'evento ma come? Di fatto non la vedo la classe nel mio progetto (quando faccio le varie dichiarazioni). La vedo solo nel visualizzatore ad oggetti...come fare? |
| Corrado Cavalli |
Re: Intercettare eventi .net da vb6
<ComClass(dotNETProva.ClassId, dotNETProva.InterfaceId, dotNETProva.EventsId)> _
Public Class dotNETProva Public Const ClassId As String = "7666AC25-855F-4534-BC55-27BF09D49D46" Public Const InterfaceId As String = "54388137-8A76-491e-AA3A-853E23AC1217" Public Const EventsId As String = "EA329A13-16A0-478d-B41F-47583A761FF2" Public Event UnShared() Public Shared Event SharedEvent() Public Sub DoUnShared() RaiseEvent UnShared() End Sub End Class Register for COM interop=Yes Questo funziona perfettamente se invocato da VB6, se invece vuoi usare un evento Shared, credo non sia possibile, ma potrei (ben volentieri) essere smentito. HTH Corrado |
| Claudio Burini |
Re: Intercettare eventi .net da vb6
Infatti...mi occorre shared...
Per il resto tutto ok...effettivamente non facendolo shared funziona...troverò qualche inghippo per aggirare il problema. Grazie |
| Corrado Cavalli |
Re: Intercettare eventi .net da vb6
Claudio,
La prossima volta indica meglio il tuo problema, se l' avessi indicato subito avrei evitato di scrivere (e testare) il codice... Corrado |
| Claudio Burini |
Re: Intercettare eventi .net da vb6
Sì scusa ma non pensavo potesse essere il "shared" il mio problema...grazie a te l'ho scoperto...
|