Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ådriano

Threads.

Recommended Posts

Ola Amigos ..

Estou com uma duvida Sobre Threads...

tenho este código aki

 

 

 

procedure TCAD_PRODUTOS.SpeedButton6Click(Sender: TObject);

Var

I,Q:integer;

begin

If EditQTD.Text <>'' then

BEgin

Q:=Strtoint(EDITQTD.Text);

Gauge1.Visible:=True;

Gauge1.MaxValue:=Q;

Gauge1.Progress:=0;

Gauge1.Refresh;

For I:= 1 to Q do

begin

Dm.QBarras.Insert;

Dm.QBarrasCODIGO.Value:=IntTostr(DM.QproutosCOD_INTERNO.Value);

Dm.QBarrasTAMANHO.Value:=Dm.QproutosTAMANHO.Value;

Dm.QBarrasNOME.Value:=Dm.QproutosNOME_PRODUTO.Value;

Dm.QBarrasBARRAS.Value:=Dm.QproutosCOD_PRODUTO.Value;

Dm.QBarrasVALOR.Value:=Dm.QproutosVALOR_VENDA.Value;

Dm.QBarras.Edit;

Dm.QBarras.Post;

Gauge1.Progress:=Gauge1.Progress+1;

End;

Gauge1.Visible:=false;

Gauge1.Refresh;

Statusbar1.Panels[0].Text:='Você tem '+Inttostr(Dm.QBarras.RecordCount)+' etiqueta(s) para imprimir.';

End;

 

end;

 

 

 

E eu gostaria de colocar numa thread...mas li um monte de artigos pela internet e não consegui....

 

Toda hora mostra um erro...não consigo manipular o Form(CAD_PRODUTOS)...

 

Ta osso...

muito obrigado.

 

 

Ninguém????

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá amigo.

 

Não sei, é apenas a minha opinião mas acho desnecessário uso de Threads para esse código.

 

A única coisa que eu faria é colocar o método Application.ProcessMessages após o incremento do seu gauge dentro do loop for.

 

Em todo caso, aqui tem um link bacana explicando de forma bem simples o uso de Threads:

 

Até a próxima. :thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.