Logo UGIdotNET

Discussione 'Intercettare eventi .net da vb6'

# Pubblicato il 02 feb 2004 8.58 - Rispondi
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?
# Pubblicato il 02 feb 2004 9.27 - Rispondi
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
# Pubblicato il 02 feb 2004 9.32 - Rispondi
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
# Pubblicato il 02 feb 2004 9.38 - Rispondi
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
# Pubblicato il 02 feb 2004 9.45 - Rispondi
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...

© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185