|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Sep 2009
Messaggi: 41
|
[C#] Errore InvalidCastException
ciao a tutti. Con un amico stavamo facendo un piccolo programmino in C# il cui obiettivo è quello di eseguire una funzione dopo un tempo preimpostato. Per far ciò abbiamo fatto uso della classe timer. Vi allego la parte del codice di interesse:
Codice:
...
private void button2_Click(object sender, EventArgs e)
{
var1= webBrowser.Document.GetElementById("prova").InnerHtml;
System.Timers.Timer timer = new System.Timers.Timer();
timer.Interval = 5000;
timer.Elapsed += new System.Timers.ElapsedEventHandler(timer_Elapsed);
timer.Start();
}
private void timer_Elapsed(object sender, System.Timers.ElapsedEventArgs e)
{
var2 = webBrowser.Document.GetElementById("prova").InnerHtml;
}
....
Non conosciamo molto il C# però leggendo un pò su internet sembra un problema di gestione dei threads visto che un analoga assegnazione viene eseguita correttamente qualche riga su (l'assegnazione della variabile var1 per intenderci). Abbiamo letto e provato diverse cose ma non siamo riusciti a venirne a capo. Qualcuno ci può dare un suggerimento?? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Cos'e' var2?
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
#3 |
|
Member
Iscritto dal: Sep 2009
Messaggi: 41
|
sia var1 che var2 sono stringhe. Entrambe sono dichiarate come variabili di istanza..
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2002
Messaggi: 2690
|
se e' un problema di threading devi usare un delegate
prima proverei cmq un trucchetto "quick&dirty"... Codice:
var2 = "" + webBrowser.Document.GetElementById("prova").InnerHtml;
__________________
Saying that Java is nice because it works on all OS's is like saying that anal sex is nice because it works on all genders |
|
|
|
|
|
#5 | |
|
Member
Iscritto dal: Sep 2009
Messaggi: 41
|
Quote:
Per quanto riguarda il delegate come andrebbe usato?? |
|
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
Cosi'
Codice:
var2 = (string)Invoke((Func<string>)(() => webBrowser.Document.GetElementById("prova").InnerHtml));
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
|
|
|
|
|
#7 |
|
Member
Iscritto dal: Sep 2009
Messaggi: 41
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:17.




















