Oggi proprio giornataccia....
ora sono alle prese con una funzione su thread separato che rimane in ascolto e riceve delle stringhe , alla ricezione della stringa home dovrei aggiornare il controllo del form1 con la chiamata di WindowManager.Open(homep); ma giustamente ricevo un exception "Impossibile creare un'istanza del controllo ActiveX '8856f961-340a-11d0-a96b-00c04fd705a2' perché il thread corrente non è un apartment a thread singolo." xchè sto lavorando su altro thread. Non so usare delegate (ho visto un pò di documentazione, qualcuno ha voglia di dirmi come fare?
Grazie in anticipo
private void ClientThread()
{
Process app = null, app_precedente = null;
comando_rx = clienttcp.GetStream();
byte[] buffer = new byte[1024];
while (clienttcp.Connected == true)
{
if (clienttcp.Connected == true)
{
if ((clienttcp.Client.Poll(2, SelectMode.SelectRead) == true))//&&
//(clienttcp.Client.Poll(2, SelectMode.SelectWrite) == true) &&
//(clienttcp.Client.Poll(2, SelectMode.SelectError) == false))
{
int l_dati_rx = comando_rx.Read(buffer, 0, buffer.Length);
string string_buffer = Encoding.ASCII.GetString(buffer, 0, l_dati_rx);
switch (string_buffer)
{
case "HOME":
if (app_precedente != null)
app_precedente.Kill();
WindowManager.Open(homep);