Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C#] Eccezione su assegnazione a variabile globale

    Ho un problema con un errore che viene segnalato quando tento di assegnare un valore ad una variabile globale all'interno di un metodo.

    L'applicazione è client/server, nel lato client ho creato una classe denominata "Globale" in cui ho dichiarato le variabili che dovranno essere visibili in tutto il programma.

    La mia applicazione ha la particolarità che è il server a connettersi al client, quindi ho dichiarato la variabile "client" come TCPListener:

    codice:
    TcpListener client=new TcpListener(IPAddress.Any, porta);
    Però per poter far si che la comunicazione sia bidirezionale ho dichiarato anche la variabile "server" (sempre nel lato client) all'interno della classe "Globale":

    codice:
    public static TcpClient server = new TcpClient();
    Il problema consiste nel fatto che quando effettuo questa assegnazione:

    codice:
    Globale.server = client.AcceptTcpClient();
    Viene sollevata una eccezione che dice: Riferimento ad un oggetto non impostato su una istanza di oggetto.

    Se io dichiaro la variabile "server" come non globale quindi:

    codice:
    TcpClient server = client.AcceptTcpClient();
    Non vengono segnalati errori, ma ho la necessità di far si che "server" sia visibile anche in altri Form ecc...

    Consigli?

  2. #2

  3. #3
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472

    Moderazione

    Originariamente inviato da SkyNET290897
    Risolto . . .
    Tanto per dare un significato a questa discussione, almeno indica come hai risolto.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  4. #4
    Avevo creato la variabile all'interno della classe "Globale" ma così data il problema riportato sopra.

    Allora ho dichiarato la variabile come "public" all'interno della classe Form1 e nell'assegnazione in Form1 non ha più dato problemi.

    Per utilizzarla delle altre classi form ho usato la sintassi Form1.nome_variabile.

    L'altra volta ero un pò cotto e mi sono perso in un bicchier d'acqua . . .

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.