| Raffaele Rialdi [MVP] |
Re: Problemi per utilizzare un dll non gestita.
Nuova discussione in risposta a http://www.ugidotnet.org/forum/b.asp?m=28024
> Perchè la mia NotifyError non viene più richiamata? Potrebbe essere dovuto al fatto che i parametri associati al messaggio (wParam e lParam) non sono quelli corretti. > Nella dll (in C) non gestita i messaggi vengono inviati utilizzando > PostMessage(...): è ancora corretto utilizzare questa funzione? La PostMessage (e la SendMessage) sono funzioni ancora utili in dotnet richiamabili via Pinvoke. -- Raffaele Rialdi Microsoft .NET MVP http://mvp.support.microsoft.com - http://italy.mvps.org UGIdotNET - User Group Italiano .NET http://www.ugidotnet.org Weblog: http://www.ugidotnet.org/2082.blog ---------------------- Questo messaggio è stato postato da microsoft.public.it.dotnet.vb. |
| Elisa Ricci |
Re: Problemi per utilizzare un dll non gestita.
> > Perchè la mia NotifyError non viene più richiamata?
> Potrebbe essere dovuto al fatto che i parametri associati al messaggio > (wParam e lParam) non sono quelli corretti. Guardando con Spy++ mi sembra che i parametri siano quelli corretti. > > Nella dll (in C) non gestita i messaggi vengono inviati utilizzando > > PostMessage(...): è ancora corretto utilizzare questa funzione? > La PostMessage (e la SendMessage) sono funzioni ancora utili in dotnet > richiamabili via Pinvoke. La PostMessage è utilizzata nella dll non gestita e non in VB .NET. Non posso ricevere i messaggi che arrivano alla window utilizzando la NotifyError come si faceva in VB 6? Ciao e grazie |
| Raffaele Rialdi |
Re: Problemi per utilizzare un dll non gestita.
Allora c'erano un paio di cose che non avevo capito.
Prova a fare l'override della WndProc (vedi msdn) e mettere un if che cattura il numero del messaggio che ti interessa. Raffaele |
| Elisa Ricci |
Re: Problemi per utilizzare un dll non gestita.
> Prova a fare l'override della WndProc (vedi msdn) e mettere un if che cattura il numero > del messaggio che ti interessa. Ma la window che riceve i messaggi è stata creata nella dll non gestita. Nel mio progetto in VB .NET ho soltanto un handle a questa finestra. Inoltre i primi messaggi (cioè quelli relativi alla creazione della window) sono catturati dalla NotifyError: questa però non cattura quelli successivi neppure quelli relativi alla distruzione della finestra. Devo fare una classe ereditata da NativeWindow che contiene l'override della WndProc? Grazie e Ciao Elisa |
| Raffaele Rialdi |
Re: Problemi per utilizzare un dll non gestita.
> Devo fare una classe ereditata da NativeWindow che contiene l'override della WndProc?
No. Ma la situazione è sempre più intricata :~| Riguardando il codice vedo che non fai la new del delegate che hai creato. Riverifica tutto il codice da zero e riguarda gli articoli di msdn che mostrano esempi relativi a questa tecnica. Raffaele |
| Elisa Ricci |
Re: Problemi per utilizzare un dll non gestita.
on 25. Nov 2003 23:22 Raffaele Rialdi wrote:
> Riguardando il codice vedo che non fai la new del delegate che hai creato. Riverifica tutto il > codice da zero e riguarda gli articoli di msdn che mostrano esempi relativi a questa tecnica. Sono riuscita a risolvere il problema (riguardava proprio il dalegate). Grazie dell'aiuto. Ciao Elisa |