Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003

    Perplessità sull'uso di una classe

    Sto creando una classe (derivata da TThread) che contiene un IdTCPClient (componente Indy).
    Volevo far sì che sull'evento on work del TCPClient il thread aggornasse una progressbar sul form.
    Esiste un sistema, che non sia chiamare brutalmente la progress bar attraverso Form1.ProgressBar1, per accedere alle proprietà del main form?

    In alternativa ha senso dichiarare una customprogressbar nella classe del thread e dichiarare nel form questo componente anzichè quello di default?

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Puoi accedere al "main form" anche attraverso l'omonima proprietà dell'oggetto Application (unit Forms). In ogni caso, devi sempre fare un "cast" alla classe del tuo form principale per accedere ai controlli visuali al suo interno, ovviamente all'interno di un metodo della classe del tuo thread che venga passato come parametro a Synchronize.

    In alternativa, potresti prevedere l'aggiornamento di una variabile intera appartenente al thread, un campo insomma, con lo stato del processo; dal MainForm, con un banale TTimer, leggi periodicamente quel valore, magari ispezionando lo stato del thread con un flag apposito, e lo visualizzi in una TProgressBar.

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

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

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.