in
La comunità italiana dedicata a Sviluppatori e Architetti IT delle piattaforme Windows

problema utilizzo delegate

Ultimo messaggio ricevuto il 07-03-2007 17.45 da devspy. 3 risposta(e).
Pagina 1 di 1 (4 elemento/i)
Ordina messaggi: Precedente Successivo
  • 06-03-2007 10.54

    • elyarwen
    • Utente Top 500
    • Registrato il 20-04-2006
    • Messaggi 4

    problema utilizzo delegate

    Buongiorno a tutti!
    All'interno del mio programma utilizzo una dll creata da un collega,in questa dll è presente un delegate che viene scatenato quando una certa variabile cambia valore.
    Io all'interno della mia applicazione "creo" il delegate e gli associo un metodo, questo metodo ne richiama un altro ke al suo interno contiene uno switch sul valore della variabile e in base al valore ke assume, deve eseguire istruzioni diverse.
    Se queste istruzioni sono semplici funziona. Se invece sono chiamate ad altri metodi nn vengono eseguite..Perchè??
    Inoltre nn viene segnalato nessun errore nè eccezione, semplicemente l'applicazione nn fa niente, rimane in attesa.
    Come posso fare per risolvere il problema?
    • Log
  • 06-03-2007 22.26 In risposta a

    Re: problema utilizzo delegate

    Moltro strano... Che tipo di istruzioni inserisci nel metodo agganciato all'evento della DLL esterna?
    • Log
  • 07-03-2007 9.48 In risposta a

    • elyarwen
    • Utente Top 500
    • Registrato il 20-04-2006
    • Messaggi 4

    Re: problema utilizzo delegate

    Grazie per avermi risposto!Questo è il corpo del metodo associato al delegate.
    if(sig.value != 0)
        signals[sig.index].signalValue = convertSignalValue(sig.value);
    else
        signals[sig.index].signalValue = sig.value;
    int sp = this.setEvent(signals[sig.index]);
    Console.WriteLine("New Value: " + signals[sig.index].ToString());

    Prima di memorizzare il valore in signals(array di oggetti sig) controllo se è diverso da 0 perchè in questo caso devo convertirlo in double, utilizzando il mio metodo convertSignalValue (che oltre alla conversione fa anche altri controlli)
    Dopo di che richiamo setEvent che contiene uno 'switch' sul valore di sig.value e in alcuni 'case' richiamo dei metodi che fanno alcuni calcoli matematici su questi valori, negli altri memorizzo semplicemente il valore in un'altra variabile.
    Come ultima istruzione c'è la stampa del nuovo valore.
    Il problema si verifica proprio quando nel 'case' richiamo uno di quei metodi per fare calcoli matematici, sembra quasi che "si perda per strada", perchè non esegue l'ultima istruzione della stampa del valore ma nemmeno la stringa "New value: "

    • Log
  • 07-03-2007 17.45 In risposta a

    Re: problema utilizzo delegate

    E' possibile che la libreria (o semplicemente il metodo/funzione) che usi per eseguire i calcoli matematici scateni un'eccezione che non viene intercettata? In questo caso, non otterresti nessun output su Console e neppure segnalazioni di errore.
    • Log
Pagina 1 di 1 (4 elemento/i)
Prelevato da http://www.devspy.com/forums/p/4450/5381.aspx
DevSpy.com 6.0 © 2001-2008 - Alcuni Diritti Riservati
Salvo diversa indicazione, tutti i contenuti sono pubblicati sotto licenza "Creative Commons Attribution-Share Alike 3.0"