Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    3

    [DELPHI] gestione eccezioni

    salve ragazzi ho implementato il seguente codice

    UdpSocket1.SendBuf(mess,2);
    Sleep (500);
    if (UdpSocket1.ReceiveBuf(str,3)=3) then
    begin
    connected:=true;
    colorbutton9.ForeColor := clgreen;
    colorbutton10.ForeColor := clblack;
    Timer1.Enabled:=True;
    end
    else
    begin
    MessageDlg ('ERRORE: dispositivo non connesso', mtError, [mbOK], 0);
    connected:=false;
    end

    adesso però dovrei implementare usando le eccezioni così che da poter eliminare l'attesa di 500ms ed adattare tutto ad una condizione di ritardi in rete dinamici.
    ho provato con delle eccezioni personalizzate ma non le riconosce.
    non ho trovato niente sulla gestione delle eccezioni dei socket.
    Qualcuno può darmi una mano???

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

    Re: [DELPHI] gestione eccezioni

    Originariamente inviato da chenni
    ho provato con delle eccezioni personalizzate ma non le riconosce.
    Non riesco ad attribuire un significato preciso a questa frase, anzi lo attribuisco ma non ho compreso come si inserisce nel contesto.

    Puoi essere più specifico nel spiegare qual è il problema che stai cercando di risolvere?

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    3
    purtorppo sono un novellino in queste cose ed è possibile che abbia detto qualche scemenza...
    per eccezioni "personalizzate" mi riferivo al fatto che non ho trovato delle classi di eccezioni relative ad i socket e quindi seguendo alcuni esempi ho creato un oggetto eccezione e di associarlo ad un socket in un esempio trovato qui

    http://www.delphiedintorni.it/geoxml...AA95564%7D.htm

    ma non so nemmeno se ho fatto le cose giuste data la mia inesperienza.
    In pratica io dovrei aprire una connessione con un dispositivo, se il dipositivo viene raggiunto da UdpSocket1.SendBuf(mess,2) dove mess è un vettore di byte di due elementi il dispositivo dovrà rispondere con un vettore di caratteri, str, di tre elementi. Se risponde vuol dire che è online quindi può partire il metodo timer, se invece non risponde il dispositivo è offline.
    Ho utilizzato quel codice, e tutto funziona senza problemi solo che mi è stato chiesto di implemetare la stessa routine ma con l'uso di eccezzioni....ed è qui che casca l'asino!...come dovrei fare?esiste una classe di eccezioni relative ad i socket?in tutta la rete non c'è un solo esempio dove dentro un blocco try ci sia dentro udpsocket.receivebuff.
    aiutooooo...... :master:

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Se ti è stato chiesto di generare eccezioni, dovresti definire le classi relative ad eccezioni personalizzate (ereditando da Exception) sollevandole con la parola chiave raise quando riscontri il problema relativo.

    Il mio suggerimento è quello di adottare una libreria che già si basa su questo meccanismo, abbandonando i componenti che hai scelto, che sono un po' obsoleti.

    Usa il package degli Indy Components.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2007
    Messaggi
    3
    purtroppo conosco solo questi....adesso mi studio un po' le indy component. grazie

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 © 2024 vBulletin Solutions, Inc. All rights reserved.