Newsgroup: it.comp.lang.delphi
Titolo: Aiuto su thread e dl file

Salve a tutti,
ho un programma che mi fa l'autoupdate dal web del db del prog stesso.
Grazie alle indy mi scarico i dati direttamente nel memo e grazie a questo
salvo su file finito il dl.
Uso questo comando:
Memo2.Lines.Text:= IdHTTP1.Get(url);
Funziona tutto, ma nel tempo che il prog scarica non posso usare il prog
stesso (neanche spostare la finestra) e quindi ho cominciato a cercare nel
ng (google) per l'utilizzo dei threads... ho trovato moltoe cose, ma non
sono riuscito a cavarne un ragno dal buco...
Posto il codice che ho usato (recuperato dalla guida di MSX), ma se avete
anche altri metodi alternativi sono ben accetti :)
___________________________
//...
type
  TThreadUpdate=class(TThread)
    procedure Execute; override;
end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
//...
procedure TThreadUpdate.Execute;
var
   dwFlags: Cardinal;
begin
    // procedura di update che comprende la verifica della connessione
internet e dl del file
end;
//...
procedure TForm1.Button1Click(Sender: TObject);
begin
  t:=TThreadUpdate.create(false);
  t.Execute;
end;
___________________________
Grazie per l'aiuto... non riesco proprio a capire cosa non va.
Byez

PS uso D7 e il prog dovrebbe girare su tutti i windows

 PS uso D7 e il prog dovrebbe girare su tutti i windows
Prova a mettere un idAntiFreeze sulla form.
--
Jax
====
Il tempo, il vento, i ricchi, le onde e la fortuna vanno e vengono come
la luna.

 Prova a mettere un idAntiFreeze sulla form.
ok, grazie sto dando un'occhiata su google per idAntiFreeze
Byez
-- 
Free your mind.
Personal ficm code: Hx19B
Hyundai Tiburon ('98) Driver & Owner

 ok, grazie sto dando un'occhiata su google per idAntiFreeze
I risultati dei nostri cazziatoni sull'usare google hanno prodotto i loro
frutti... proprio adesso che non serviva ;)
Guarda nella tab Indy Misc :D
--
Jax
====
Societą: trucco ingegnoso per ottenere individualmente profitti senza
responsabilitą. (Ambrose Gwinnett Bierce)

 end;
Corretto
Ciao,
Andrea

 frutti... proprio adesso che non serviva ;)
sssssss! non dirlo troppo a voce alta: qualcuno potrebbe sentirti!.
Inoltre, non esageriamo: in fondo su google non si strova niente... :)))))
A
"progresso: avere cio che non vuoi quando non ti serve."

 loro frutti... proprio adesso che non serviva ;)
No bhe, per quanto mi riguarda ho sempre usato google & co. Spesso non trovo
quello che cerco perchè non so le parole chiave da trovare e resto o nel
vago (enormità di risultati) o non trovo niente.
Per quanto rigurda idAntiFreeze non lo conoscevo e cercando ho trovato in 1
sec quelo che cercavo ed ho risolto in altri 2 sec (il tempo di portarlo nel
form ;)
Quindi non mi conteggiare nei "frutti dei cazziatoni" (anche perchè io
stesso l'ho detto più volte in altri ng ;))
Byez

 Sballato: t.Resume;
Ho ecco! questo non lo sapevo / non avevo intuito... il thread parte sospeso
e va fatto ripartire al momento della necessità. Mi pare chiaro :-)
Grazie
Byez


Sbagliato.
Essendo stato creato NON suspended fare il resume č inutile in quanto
č gią in esecuzione.
-- 
"La velocitą luce non č sufficiente Comandante Nunziatella, 
dobbiamo passare alla velocitą smodata!"

 č gią in esecuzione.
-- 


 č gią in esecuzione.
Per crearlo "suspended" come si fa?
Grazie


TThread.Create (True);
dopodichè quando hai fatto tutte le tue cosine fai il resume :)
Ciao.
-- 
"La velocità luce non è sufficiente Comandante Nunziatella, 
dobbiamo passare alla velocità smodata!"

 dopodichč quando hai fatto tutte le tue cosine fai il resume :)
Ah ecco :)
Quindi creandolo con "true" parte sospeso,  mentre con "false" č da subito
attivo.
E nel caso dell'esempio diventerebbe:
//...
t:=TThreadUpdate.create(true);
//...
t.resume;
//...
Grazie e ciao :)