73 messaggi dal 08 settembre 2006
salve a tutti,

sto relizzando un software con NET compact framework nel quale viene lanciato un processo parallelo che si occupa di recuperare le coordinate GPS della posizione del palamre.

Nel tread principale, dove sono gli oggetti grafici ho necessita di recuperare puntualmente la coordinata valorizzata dal processo di cui sopra.

Per fare questo ho collegato l'evento del processo secondario nel quale la ccordinata viene valorizzata ad uno presente nel processo principale, in questo caso in una form, usando il raiseevent; una cosa del tipo :

evento tread del GP
lastlat= valore
lastlong=valore
raise event coorGPSLetta (me, new eventargs)
fine evento

L'evento è definito pubblico nella classe dove gestisco l'evento:

Nella form principale invece ho inserito :

addhandler classeGPS.coorgpsletta addresof showcoorgps

e poi

private sub showCoorGPS
txtlatuitudine.text=lastlat
txtlogitudine.text=lastlong
end sub

la propagazione dell'evento funziona regolarmente ma nel momento in cui cerco di valorizzare la text box appare l'errore :

CONTROL.INVOKE MUST BE USED TO INTERACT WHIT CONTROLS CREATED ON A SEPARATE THREAD

che è dovuto al fatto che sto accedendo ad un oggetto definito in un tread (quello principale nel nostro caso), da una procedura generata invece in un altro, quello del GPS.

Ho anche letto che la cosa si può risolvere usando un delegato per poter usare il control.invoke come dice il suggerimento ma non riesco a far funzionare la cosa, qualcuno può fornirmi qualche esempio ?

grazie
5.610 messaggi dal 09 febbraio 2002
Contributi
Ho anche letto che la cosa si può risolvere usando un delegato per poter usare il control.invoke come dice il suggerimento ma non riesco a far funzionare la cosa, qualcuno può fornirmi qualche esempio ?


Sì, esatto, trovi un esempio qui:
http://www.codeproject.com/KB/cs/AvoidingInvokeRequired.aspx

C'è anche un progetto da scaricare. Inoltre, l'autore dell'articolo descrive anche altre tecniche che puoi provare.

ciao,

- So what you're saying is, if we get in trouble, there's no one to help us out?
- I'm afraid not.
- Fantastic!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Ultimi messaggi
UTENTI ONLINE
    In primo piano

    I più letti di oggi

    Media
    In evidenza
    MISC