Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 12 su 12

Discussione: [delphi] thread

  1. #11
    Originariamente inviato da franzauker2.0
    non puoi usare thread separato il timer serve per il processmessages del thread principale
    Non ho capito la frase, comunque io mi riferivo alla parte che ho quotato e ho precisato che TTimer non crea nessun thread.

  2. #12
    Utente bannato
    Registrato dal
    Dec 2012
    Messaggi
    679
    Originariamente inviato da 123delphi321
    ciao,

    usando il primo metodo funziona bene...
    ma verificando i vari 'application.processmessages' l'utente potrebbe navigare nel menu della applicazione e potrebbe attivare altre procedure.
    Certo che può, se non usi ad esempio a caso una finestra modale su cui metti il bottone STOP
    per franzauker,
    ho letto bene questo problema?
    Hai "letto" benissimo.
    Se invece vuoi fare dei thread "veri" ti consiglio un TBMDThreadGroup,
    il quale ha eventi onStart, onTerminate, onThreadstart, onThreadTerminate, onThreadUpdate, onUpdate.
    Sostanzialmente puoi definire un array di thread, tipo così

    GF_arrayThread[i]:=TBMDThread.Create(self);
    GF_arrayThread[i].ThreadGroup:=bmdGruppoThread;
    GF_arrayThread[i].onExecute:=myThreadExecute;
    GF_arrayThread[i].tag:=i;

    e poi avviarli con un banale bmdGruppoThread.start();

    Nel threadexecute che è qualcosa tipo questo
    procedure myThreadExecute(Sender: TObject;Thread: TBMDExecuteThread; var Data: Pointer);

    puoi cercare "chi sei" (attenzione non c'è garanzia di monotonicità nella creazione, quindi l'uomo saggio controlla)

    for i:=0 to GF_quanti -1 do
    begin
    if thread=GF_arrayThread[i].thread then
    qualeThread:=i;
    end;


    ma, soprattutto, da "qualche parte" (nel thread) schiafferai qualcosa del tipo
    if ( Thread.Terminated ) then
    break;

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.