[delphi-br] Thread parece nao rodar em backgound
Estou desenvolvendo uma tela de Aguarde para usar em uma aplicação que faz processamento pesado. Para isso estou criando uma thread que exibe um form com um rxGifAnimator. Até aqui tubo bem, a thread exibe o form com o gif animado. Mas quando o processamento pesado na aplicação começa, a thread parece que para de processar: //Aplicacao threadv := TThreadAguarde.Create(true); threadv.FreeOnTerminate := true; threadv.Priority := tpHighest; threadv.Resume; //quando começa a processr a thread para for I := 0 to 90 do begin for k := 0 to 9000 do begin end; end; //termina a thread threadv.terminate; Execute da thread procedure TThreadAguarde.Execute; begin { Place thread code here } Synchronize(Showform); //cria e exibe o form while not Self.Terminated do begin sleep(100); end; Synchronize(Closeform);//fecha o formulario end; Estou usando o D delphi 2007 SO: Windows 7 32bits Porcessador: Turion Mobile 64x2 [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread e ClientSocket1
Em 09/01/2010 23:55, klanp...@hotmail.com escreveu: Como é seu sistema humberto ? desculpa a demora... o sistema trabalha +/- assim Todos os eventos estao ligados ao ONClientRead. exemplo: procedure TForm1.ServerSocket1ClientRead(Sender: TObject; Socket: TCustomWinSocket); VAR MSG : STRING; begin MSG := SOCKET.ReceiveText; if pos('ARQ!',MSG) = 1 THEN begin Tratamento(Socket); end; end; procedure Tform1.Tratamento( Socket: TCustomWinSocket); begin socket.sendtext := 'Preparado para receber o arquivo'. end; [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Thread atrasando carregamento de pacotes
Olá a todos. Tenho uma aplicação 3 camadas que, em sua camada de servidor, está modularizadas em pacotes (BPLs). Um destes pacotes contém uma Thread que varre um diretório em busca de arquivos de integração. Por conveniência e pelo fato desta Thread não necessitar da intervenção do usuário, ela é inicializada juntamente com o pacote. O problema é que, durante a inicialização do pacote, a Thread trava a inicialização do restante dos pacotes. Tenho certeza disto pois removi a Thread da inicialização do pacote e todos foram carregados perfeitamente. E quando a Thread é inicializada com o pacote, sou obrigado a efetuar o carregamento dos pacotes 2 vezes. Mas antes que alguém questione, a Thread funciona perfeitamente, não gerando nenhuma exceção. A chamada da inicialização está em [1] e o método Execute da Thread está em [2]. Alguém tem alguma idéia do que posso fazer para acertar esta situação? []'s [1] initialization TFileProcessing.Initialize; [2] procedure TFileProcessing.Execute; begin inherited; sFiles := TStringList.Create; cIntgParams := TIntgParams.Create('', 0); while not Terminated do begin try cIntgParams.LoadParams; if FindFiles then ProcessFiles; finally sFiles.Clear; end; Sleep(cIntgParams.Interval); end; end; -- --- Att.: Willian Jhonnes L. dos Santos Analista/Desenvolvedor Object/Free Pascal willianjhon...@yahoo.com.br --- Seja livre. Use Linux. Grupo de Usuários GNU/Linux de São José dos Pinhais Linux user number 449753 --- Powered by Slackware Linux 12.2 Kernel 2.6.27.8-i686-core2 --- [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread atrasando carregamento de pacotes
Ah, sim, claro! Esqueci de colocar o construtor da Thread! []'s constructor TFileProcessing.Initialize; begin Create(False); FreeOnTerminate := True; Priority := tpLowest; Execute; end; -- --- Att.: Willian Jhonnes L. dos Santos Analista/Desenvolvedor Object/Free Pascal willianjhon...@yahoo.com.br --- Seja livre. Use Linux. Grupo de Usuários GNU/Linux de São José dos Pinhais Linux user number 449753 --- Powered by Slackware Linux 12.2 Kernel 2.6.27.8-i686-core2 --- [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread atrasando carregamento de pacotes
Nao sou muito bom em Threads, mas tente assim: ... begin // inherited; -- Pode remover, Execute eh abstrato ;) while not Terminated do begin try Sleep(cIntgParams.Interval); cIntgParams.LoadParams; if FindFiles then ProcessFiles; finally sFiles.Clear; end; end; ... Se você não usa FreeOnTerminate como True, faça o seguinte: ... destructor TFileProcessing.Destroy; begin // Nao tem problemas, eh para evitar AV. end; ... Se nao funfar, monitore com o debugger em qual etapa esta travando. -- Silvio Clécio 2010/1/21 Willian Jhonnes L. dos Santos willianjhon...@yahoo.com.br Ah, sim, claro! Esqueci de colocar o construtor da Thread! []'s constructor TFileProcessing.Initialize; begin Create(False); FreeOnTerminate := True; Priority := tpLowest; Execute; end; -- --- Att.: Willian Jhonnes L. dos Santos Analista/Desenvolvedor Object/Free Pascal willianjhon...@yahoo.com.br --- Seja livre. Use Linux. Grupo de Usuários GNU/Linux de São José dos Pinhais Linux user number 449753 --- Powered by Slackware Linux 12.2 Kernel 2.6.27.8-i686-core2 ---
Re: [delphi-br] Thread atrasando carregamento de pacotes
Em 21/01/2010 15:51, Silvio Clecio escreveu: Se nao funfar, monitore com o debugger em qual etapa esta travando. E aí, Silvio... É, não rolou... O problema é que o debbuger não vai ajudar nesta questão, haja visto que ele vai causar o atraso na carga dos pacotes da mesma maneira (é, eu já tentei debugar). Vou continuar tentando encontrar uma solução... []'s -- --- Att.: Willian Jhonnes L. dos Santos Analista/Desenvolvedor Object/Free Pascal willianjhon...@yahoo.com.br --- Seja livre. Use Linux. Grupo de Usuários GNU/Linux de São José dos Pinhais Linux user number 449753 --- Powered by Slackware Linux 12.2 Kernel 2.6.27.8-i686-core2 --- [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread e ClientSocket1
Como é seu sistema humberto ? -- From: humberto sales de oliveira humberto_...@yahoo.com.br Sent: Saturday, January 09, 2010 8:32 PM To: delphi-br@yahoogrupos.com.br Subject: Re: [delphi-br] Thread e ClientSocket1 Vou ficar te devendo com thread, mas o sistema de atualizacao que desenvolvi ele faz simultaneamente todos juntos sem thread. klanp...@hotmail.com escreveu: Basicamente sim, mas não um chat qualquer é um chat dinâmico que trabalha com Socket + Thread. Veja em um chat comum digamos que tenha 200 pessoas conectado e você envia uma mensagem, você terá que esperar o socket tratar todos os demais pedidos antes de vc ser atendido. Usando Thread você não fica em uma fila, passa a ser atendido individualmente, atendido por um socket criado em tempo de execução e esse socket pertence somente a você o problema é se o Cliente 1, Socket 1 quiser falar com o Cliente 2, Socket 2 ? Saberia como faze-lo usando Thread? -- From: humberto sales de oliveira humberto_...@yahoo.com.br Sent: Friday, January 08, 2010 8:55 PM To: delphi-br@yahoogrupos.com.br Subject: Re: [delphi-br] Thread e ClientSocket1 vc quer um chat e isso? -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM __ Informação do ESET NOD32 Antivirus, versão da vacina 4755 (20100108) __ A mensagem foi verificada pelo ESET NOD32 Antivirus. http://www.eset.com __ Informação do ESET NOD32 Antivirus, versão da vacina 4755 (20100108) __ A mensagem foi verificada pelo ESET NOD32 Antivirus. http://www.eset.com -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM __ Informação do ESET NOD32 Antivirus, versão da vacina 4757 (20100109) __ A mensagem foi verificada pelo ESET NOD32 Antivirus. http://www.eset.com __ Informação do ESET NOD32 Antivirus, versão da vacina 4757 (20100109) __ A mensagem foi verificada pelo ESET NOD32 Antivirus. http://www.eset.com
Re: [delphi-br] Thread e ClientSocket1
Basicamente sim, mas não um chat qualquer é um chat dinâmico que trabalha com Socket + Thread. Veja em um chat comum digamos que tenha 200 pessoas conectado e você envia uma mensagem, você terá que esperar o socket tratar todos os demais pedidos antes de vc ser atendido. Usando Thread você não fica em uma fila, passa a ser atendido individualmente, atendido por um socket criado em tempo de execução e esse socket pertence somente a você o problema é se o Cliente 1, Socket 1 quiser falar com o Cliente 2, Socket 2 ? Saberia como faze-lo usando Thread? -- From: humberto sales de oliveira humberto_...@yahoo.com.br Sent: Friday, January 08, 2010 8:55 PM To: delphi-br@yahoogrupos.com.br Subject: Re: [delphi-br] Thread e ClientSocket1 vc quer um chat e isso? -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM __ Informação do ESET NOD32 Antivirus, versão da vacina 4755 (20100108) __ A mensagem foi verificada pelo ESET NOD32 Antivirus. http://www.eset.com __ Informação do ESET NOD32 Antivirus, versão da vacina 4755 (20100108) __ A mensagem foi verificada pelo ESET NOD32 Antivirus. http://www.eset.com
Re: [delphi-br] Thread e ClientSocket1
Vou ficar te devendo com thread, mas o sistema de atualizacao que desenvolvi ele faz simultaneamente todos juntos sem thread. klanp...@hotmail.com escreveu: Basicamente sim, mas não um chat qualquer é um chat dinâmico que trabalha com Socket + Thread. Veja em um chat comum digamos que tenha 200 pessoas conectado e você envia uma mensagem, você terá que esperar o socket tratar todos os demais pedidos antes de vc ser atendido. Usando Thread você não fica em uma fila, passa a ser atendido individualmente, atendido por um socket criado em tempo de execução e esse socket pertence somente a você o problema é se o Cliente 1, Socket 1 quiser falar com o Cliente 2, Socket 2 ? Saberia como faze-lo usando Thread? -- From: humberto sales de oliveira humberto_...@yahoo.com.br Sent: Friday, January 08, 2010 8:55 PM To: delphi-br@yahoogrupos.com.br Subject: Re: [delphi-br] Thread e ClientSocket1 vc quer um chat e isso? -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM __ Informação do ESET NOD32 Antivirus, versão da vacina 4755 (20100108) __ A mensagem foi verificada pelo ESET NOD32 Antivirus. http://www.eset.com __ Informação do ESET NOD32 Antivirus, versão da vacina 4755 (20100108) __ A mensagem foi verificada pelo ESET NOD32 Antivirus. http://www.eset.com
[delphi-br] Thread e ClientSocket1
Pessoal criei um servidor que a cada conexão feita pelo cliente cria uma Thread com funções de resposta ao cliente. Mas estou querendo fazer as Thread se comunicarem entre si. Alguém sabe de alguma maneira do socket mandar mensagem pro cliente 2 ou 3 como identificar as thread criadas?
Re: [delphi-br] Thread e ClientSocket1
vc quer um chat e isso?
[delphi-br] Thread - Cpu 100%
Bom dia Temos uma thread, que tem que ficar rodando direto , lendo uma banco de dados de despertador, Qual a prioridade que devemos colocar, para que ele não fique utilizando 100% da CPU. Ou vocês tem alguma outra dica que possa me ajudar, Antonio C. de M. Pires [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread - Cpu 100%
Qual a prioridade que devemos colocar, para que ele não fique utilizando 100% da CPU. Ou vocês tem alguma outra dica que possa me ajudar, Use Sleep(10) ou outro valor qualquer. Jackson Gomes ToolsComps - Controle de Usuários para Desenvolvedores CodeGear Web Site: http://www.toolsandcomps.com Nosso Fórum: http://groups.yahoo.com/group/toolsandcomps e-mail: jack...@toolsandcomps.com Fone: 27 3389 1138 - 8811 0324 http://jacklovesdelphi.blogspot.com - Delphi, Intraweb, etc Devhost - Webhost para desenvolvedores Delphi http://www.devhost.com.br devh...@devhost.com.br
Re: [delphi-br] Thread - Cpu 100%
vc poder usar um componente ttime, nun sei se para o q vc quer vai dar certo! na configuracao vc colocar para ele testar o tempo de 1 em 1 segundos, e se for a hora por exemplo q vc quer, faz o q tem q fazer! 2009/12/15 Arrobba Sistemas del...@arrobbasistemas.com.br Bom dia Temos uma thread, que tem que ficar rodando direto , lendo uma banco de dados de despertador, Qual a prioridade que devemos colocar, para que ele não fique utilizando 100% da CPU. Ou vocês tem alguma outra dica que possa me ajudar, Antonio C. de M. Pires [As partes desta mensagem que não continham texto foram removidas] -- Nazareno Neto Programador Delphi e Firebird http://www.delphisistemas.com.br nazarenon...@hotmail.com nazareno.nobr...@gmail.com [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: delphi-br-ow...@yahoogrupos.com.br Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: delphi-br-unsubscr...@yahoogrupos.com.br * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] Thread - Cpu 100%
Assim como o Jackson, sugiro o uso do Sleep(10) e se for uma aplicação GUI, colocar um Application.ProcessMessages e se for um serviço do Windows, colocar Service.ServiceThread.ProcessRequest(False); É como faço por aqui... [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread - Cpu 100%
Mas vc tga lendo isso em LOOP ??? bota um temporizador pra ler a cada 30 segundos.. ou muda a prioridade de thread para um valor mais baixo mas não muito pq se não dependendo de como foi montada ela pode falhar []s Luiz Escobar - http://www.megasistema.com.br Harbour 2.0.0beta3(Rev.13200) (DbfNtx+MySQL) MiniGUI 1.7 Extended (Build 78)-2009.12.14 BCC 5.8.2 (Turbo C++ Explorer 2006) XAMPP 1.7.1 (Apache+MySQL+PHP+(Linux/Win)) FLEX 3.0 (iniciante) Delphi ( 6 PRO 7 Ent ) (DBF/NTX+MySQL) AMD (AiMeuDeus) ? Ñ!, Sou + Intel From: Jackson Gomes - ToolsComps Sent: Tuesday, December 15, 2009 12:13 PM To: delphi-br@yahoogrupos.com.br Subject: Re: [delphi-br] Thread - Cpu 100% Qual a prioridade que devemos colocar, para que ele não fique utilizando 100% da CPU. Ou vocês tem alguma outra dica que possa me ajudar, Use Sleep(10) ou outro valor qualquer. Jackson Gomes ToolsComps - Controle de Usuários para Desenvolvedores CodeGear Web Site: http://www.toolsandcomps.com Nosso Fórum: http://groups.yahoo.com/group/toolsandcomps e-mail: jack...@toolsandcomps.com Fone: 27 3389 1138 - 8811 0324 -- http://jacklovesdelphi.blogspot.com - Delphi, Intraweb, etc -- Devhost - Webhost para desenvolvedores Delphi http://www.devhost.com.br devh...@devhost.com.br [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Thread para mostrar animação em flash
Boa tarde pessoal! Alguem já fez alguma telinha do tipo: Processando, aguarde..., utilizando uma animação em flash? Eu to apanhando aqui pra fazer o swf rodar em paralelo com processamento... ele simplesmente trava, só roda depois que termina o processamento. Estou usando Thread, mas não está funcionando. Já testei com os componentes TShockwaveFlash e TShockwaveFlashEx. Se alguém tiver alguma dica ou um exemplo, eu agradeço. Abraços, Edelson. [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Thread + Parâmetros
Boa tarde pessoal. Sguinte, como eu faço para passar parametros para dentro de uma thread? Eu to criando uma thread generica e quero q ela dispare funções diferentes de acordo com os parametros que eu vou passar para ela. Mas não consegui pensar em como fazer isso sem usar variaveis globais. Alguma sugestão? -- _ Jhosef Marks de Carvalho Delphi Developer Linux User: #491431 Ubuntu User: #27705 Blog: http://www.jhosefmarks.com.br Empresa: http://www.cdfsoftwares.com.br Lista: http://groups.google.com/group/soumaisdelphi # CAMPANHA POR UMA INTERNET SEGURA Proteja o endereço de seus amigos como estou protegendo o seu. Ao enviar mensagens use SEMPRE o Cco (cópia oculta). Assim TODOS os endereços estarão preservados. E, claro, antes de encaminhar um e-mail, delete todas as informações que apareçam no corpo do e-mail e que possam ser usadas por hackers. # [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread + Parâmetros
Acredito que você possa reescrever o Create da classe TThread. É uma opção? [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread + Parâmetros
Jhosef, boa tarde. Você pode também declarar uma variável global em seu software que será manipulada somente pela thread. Assim, Você coloca sua thread sempre olhando o conteúdo desta variável, e, quando for o momento de passar algum parâmetro você atribui o parametro a variável. Espero ter ajudado. Abraços 2009/7/20 José Mário Silva Guedes jmariogue...@gmail.com Acredito que você possa reescrever o Create da classe TThread. É uma opção? [As partes desta mensagem que não continham texto foram removidas] -- Não te esqueças de que o arado, dilacerando o solo, acaba igualmente desmantelado e ferido, entretanto, desse choque de forças surge o pão que te supre a mesa. [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread, como sabe r se ainda está sendo executada?
Verifique o parâmetro Terminated da thread. EmbarcaDelphi escreveu: Queria, ao sair do aplicativo, saber se minha Thread ainda está em execução, e se estiver, quero parar. Será necessário isso ou quando finalizar o aplicativo ela automaticamente finaliza? Grato.
Re: [delphi-br] Thread, como saber se ainda está se ndo executada?
A forma mais correta na minha opinião é um código mais ou menos como o abaixo: MinhaThread.Terminate; MInhaThread.WaitFor; FreeAndNil(MinhaThread); Porém há um macete que demorei a entender. A classe TThread possui um evento denominado OnTerminate. Para o WaitFor funcionar a contento, este evento tem que estar setado, nem que seja para dar um simples Sleep(10) ou algo assim. É como faço por aqui. [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread, como sabe r se ainda está sendo executada?
Pode-se usar também a propriedade FreeOnTerminate, ai não é necessário usar o WaitFor. José Mário Silva Guedes escreveu: A forma mais correta na minha opinião é um código mais ou menos como o abaixo: MinhaThread.Terminate; MInhaThread.WaitFor; FreeAndNil(MinhaThread); Porém há um macete que demorei a entender. A classe TThread possui um evento denominado OnTerminate. Para o WaitFor funcionar a contento, este evento tem que estar setado, nem que seja para dar um simples Sleep(10) ou algo assim. É como faço por aqui. [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread, como saber se ainda está se ndo executada?
Isso é verdade, porém o Terminate não garante que o Thread terminou, apenas seta o Terrminated para True. Ou seja, o programa pode ser fechada com a Thread ainda em execução e dependendo do código isso pode ser ruim. O WaitFor vai garantir que a Thread realmente saiu do ar, podendo-se encerrar a aplicação com tranquilidade. [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread, como sabe r se ainda está sendo executada?
Verdade José Dependendo que como a thread foi implementada, se ela acessar alguma coisa do resto do programa, pode ser um grande problema. José Mário Silva Guedes escreveu: Isso é verdade, porém o Terminate não garante que o Thread terminou, apenas seta o Terrminated para True. Ou seja, o programa pode ser fechada com a Thread ainda em execução e dependendo do código isso pode ser ruim. O WaitFor vai garantir que a Thread realmente saiu do ar, podendo-se encerrar a aplicação com tranquilidade. [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Thread, como saber se ainda está sendo exec utada?
Queria, ao sair do aplicativo, saber se minha Thread ainda está em execução, e se estiver, quero parar. Será necessário isso ou quando finalizar o aplicativo ela automaticamente finaliza? Grato.
[delphi-br] Thread + IDHTTP + IBQuery
Olá galera ... estou com uma duvida com threads. Tenho uma tabela com cerca de 5000 produtos. Preciso cruza-los uma a um. E fazer um teste no site da empresa, e receber uma mensagem de confirmado ou nao. Para isso fiz 2 querys, ambas selecionando todos os produtos da tabela produtos. ibq_Origem e ibq_destino. Depois fiz dois whiles pra cruzar tudo isso, Entao, a cada passagem pelo laço, envio a origem e destino pro site e recebo o retorno. E insiro na tabela atravez de uma outra query (ibq_importar). Porem esse retorno do site da um lag de uns 0,6 segundos. Resultando em aproximadamente 174 dias pra efetuar esse processamento. Obiviamente nao rola. Pensei ... separo isso em threads, para processar isso umas 20 vezes separadamente e agilizar o processo, e iniciei os testes. Coloquei dois querys p/ origem e separei 2500 pra cada. Coloquei dois p/ destino e importar (efetua a insercao), coloquei dois labels p/ origem e destino p/ vizualizar na tela a operacao da thread. Porem se eu chamo a primeira thread, executa normal. Se eu chamo a segunda, o programa congela a tela, como se estivesse fazendo um loop sem as threads e tmb nao aparece o processamento da segunda thread, nos labels. To fazendo alguma c*a*gada ? *** Form1 *** procedure TForm1.btn_Thread1Click(Sender: TObject); var T1: Thread_; begin T1 := Thread_.Criar(ibq_Origem1, ibq_Destino1, ibq_Importar1, IDH1, lbl_Origem1, lbl_Destino1); end; procedure TForm1.btn_Thread2Click(Sender: TObject); var T2: Thread_; begin T2 := Thread_.Criar(ibq_Origem2, ibq_Destino2, ibq_Importar2, IDH2, lbl_Origem2, lbl_Destino2); end; ** Thread_ ** type Thread_ = class(TThread) private { Private declarations } ibq_Origem, ibq_Destino, ibq_Importar: TIBQuery; IDHTTP: TIDHTTP; lbl_Origem, lbl_Destino: TLabel; protected procedure Execute; override; procedure Importar; function Pesquisar(Origem, Destino: String): String; public constructor Criar(Origem, Destino, Importar: TIBQuery; IDH: TIDHTTP; Label_Origem, Label_Destino: TLabel); end; implementation uses Unit1; { Important: Methods and properties of objects in visual components can only be used in a method called using Synchronize, for example, Synchronize(UpdateCaption); and UpdateCaption could look like, procedure Thread_.UpdateCaption; begin Form1.Caption := 'Updated in a thread'; end; } { Thread_ } constructor Thread_.Criar(Origem, Destino, Importar: TIBQuery; IDH: TIDHTTP; Label_Origem, Label_Destino: TLabel); var Select: String; begin Create(False); ibq_Origem := Origem; ibq_Destino := Destino; ibq_Importar := Importar; IDHTTP := IDH; lbl_Origem := Label_Origem; lbl_Destino := Label_Destino; FreeOnTerminate := True; end; function Thread_.Pesquisar(Origem, Destino: String): String; var HTML: String; begin // rotina do como chegar Result := ''; Origem := AnsiReplaceStr(Origem, ' ', '+'); Destino := AnsiReplaceStr(Destino, ' ', '+'); HTML := 'urldosite1' + Origem + '2' + Destino; try Html := IDHTTP.Get(Html); if Pos('Confirmado', Html) 0 then Result := HTML else if Pos(HTML, 'Não Confirmado') 0 then Result := ''; except on E: Exception do Result := E.Message; end; end; procedure Thread_.Execute; begin { Place thread code here } ibq_Origem.Open; ibq_Destino.Open; while not (ibq_Origem.Eof) do begin ibq_Destino.First; while not (ibq_Destino.Eof)do begin Synchronize(Importar); // Coloquei essa linha p/ testar se estava atualizando a tela a cada processamento de cada thread Form1.Caption := ibq_Origem.Name + ' - ' + FormatDateTime('HH:MM:SS:MM', Now); // form1.ibtransaction1.CommitRetaining; // da erro se deixar essa linha ibq_Destino.Next; end; ibq_Origem.Next; end; end; procedure Thread_.Importar; var Origem, Destino: String; Retorno: String; begin Origem := ibq_Origem.FieldByName('PRODUTO').AsString; Destino := ibq_Destino.FieldByName('PRODUTO').AsString ; Retorno := Pesquisar(Origem, Destino); ibq_Importar.ParamByName('ID').AsInteger := 0; ibq_Importar.ParamByName('ID_PRODUTO_ORIGEM').AsInteger := ibq_Origem.FieldByName('ID_PRODUTO').AsInteger; ibq_Importar.ParamByName('ID_PRODUTO_DESTINO').AsInteger := ibq_Destino.FieldByName('ID_PRODUTO').AsInteger; if Retorno = '' then begin ibq_Importar.ParamByName('RESULT').IsNull; ibq_Importar.ParamByName('STATUS').AsString := 'N'; end else if Pos('Confirmado', Retorno) 0 then begin ibq_Importar.ParamByName('RESULT').AsString := Retorno; ibq_Importar.ParamByName('STATUS').AsString := 'S'; end else begin ibq_Importar.ParamByName('RESULT').AsString := Retorno;
Re: [delphi-br] Thread + IDHTTP + IBQuery
É problemático trabalhar com Threads usando apenas uma conexão com banco de dados. Pelo que já sofri, o ideal que a Thread tenha sua própria conexão. Alerto também para um problema que talvez você venha a ter, é que um exe não pode ter mais que 2000 threads dependendo do cenário. [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread + IDHTTP + IBQuery
Realmente percebi isso, centralizei toda a conexao em um DataModule e instanciei um p/ cada thread. Retirei tmb a rotina do metodo syncronize e funcionou corretamente. Testei com 2 threads neste novo modelo, e o ganho em performance já foi de 10%. Farei mais testes e acho q trabalharei com um limite de 50 threads. Obrigado. From: José Mário Silva Guedes Sent: Monday, May 04, 2009 5:04 PM To: delphi-br@yahoogrupos.com.br Subject: Re: [delphi-br] Thread + IDHTTP + IBQuery É problemático trabalhar com Threads usando apenas uma conexão com banco de dados. Pelo que já sofri, o ideal que a Thread tenha sua própria conexão. Alerto também para um problema que talvez você venha a ter, é que um exe não pode ter mais que 2000 threads dependendo do cenário. [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Thread com janelas modal
Caros, Estou fazendo uma aplicação onde algumas opções poderão ter seu processamento feito em Thread, liberando o sistema para uso. Porém, tenho um problema: depois de iniciar o processamento em thread, se eu abro alguma janela modal, o processamento da thread para e só continuar após fechar a janela modal. Alguém tem alguma idéia de como contornar essa situação?? Grato, -- Weverton Gomes de Morais Tecnólogo em Redes de Comunicação Desenvolvedor Delphi Entusiasta Ruby/Rails Todos juntos somos fortes [As partes desta mensagem que não continham texto foram removidas]
RE: [delphi-br] Thread com janelas modal
Só olhando o código da tua thread pra saber o que pode estar acontecendo de errado! Sds. To: delphi-br@yahoogrupos.com.br From: wever...@gmail.com Date: Mon, 22 Dec 2008 10:35:52 -0200 Subject: [delphi-br] Thread com janelas modal Caros, Estou fazendo uma aplicação onde algumas opções poderão ter seu processamento feito em Thread, liberando o sistema para uso. Porém, tenho um problema: depois de iniciar o processamento em thread, se eu abro alguma janela modal, o processamento da thread para e só continuar após fechar a janela modal. Alguém tem alguma idéia de como contornar essa situação?? Grato, -- Weverton Gomes de Morais Tecnólogo em Redes de Comunicação Desenvolvedor Delphi Entusiasta Ruby/Rails Todos juntos somos fortes _ Cansado de espaço para só 50 fotos? Conheça o Spaces, o site de relacionamentos com até 6,000 fotos! http://www.amigosdomessenger.com.br
Res: [delphi-br] Thread com janelas modal
Embora acredito ser possivel fazer o que vc imagina usando um modal. (se entendi direito). Existe um meio de exibir uma janela com o show, de forma que ela tenha os mesmos efeitos de uma modal (com efeito por cima das outras assim como uma modal)...e que não interrompe o fluxo de execução, então voce poderia mostrar esta janela, chamar suas threadse quando tudo terminar, a sua janela 'modal' poderia ser finalizada. pra fazer isto voce pode usar as funcões DisableTaskWindows e EnableTaskWindows, de uma googlada para maiores informações :-)) De: Weverton Gomes wever...@gmail.com Para: delphi-br@yahoogrupos.com.br Enviadas: Segunda-feira, 22 de Dezembro de 2008 9:35:52 Assunto: [delphi-br] Thread com janelas modal Caros, Estou fazendo uma aplicação onde algumas opções poderão ter seu processamento feito em Thread, liberando o sistema para uso. Porém, tenho um problema: depois de iniciar o processamento em thread, se eu abro alguma janela modal, o processamento da thread para e só continuar após fechar a janela modal. Alguém tem alguma idéia de como contornar essa situação?? Grato, -- Weverton Gomes de Morais Tecnólogo em Redes de Comunicação Desenvolvedor Delphi Entusiasta Ruby/Rails Todos juntos somos fortes [As partes desta mensagem que não continham texto foram removidas] Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread para o idFTP
Resolvido. Valeu []Os Joel Bom dia pessoal, Estou utilizando o idFTP da Indy. O processo está funcionando corretamente. Estou conseguindo enviar os arquivos. Meu problema está no travamento da aplicação no momento do envio. Tentei utilizar Thread sem sucesso (até por falta de conhecimento mesmo). Alguem teria uma sugestão pra destravar a aplicação no momento do upload/download ? Abraços a todos Joel
Res: [delphi-br] Thread para o idFTP
dá um refresh no form Uberdam Cavaletti Formado em Tecnologia da Informação - Unoesc - Xxe Pós-graduado em desenvolvimento Java - Unoesc - Xxe http://www.curricular.com.br/berdam Visite http://passandoveneno.blogspot.com De: Joel Alexandre joel_alexandre2...@yahoo.com.br Para: delphi-br@yahoogrupos.com.br Enviadas: Sexta-feira, 12 de Dezembro de 2008 11:52:56 Assunto: Re: [delphi-br] Thread para o idFTP Resolvido. Valeu []Os Joel Bom dia pessoal, Estou utilizando o idFTP da Indy. O processo está funcionando corretamente. Estou conseguindo enviar os arquivos. Meu problema está no travamento da aplicação no momento do envio. Tentei utilizar Thread sem sucesso (até por falta de conhecimento mesmo). Alguem teria uma sugestão pra destravar a aplicação no momento do upload/download ? Abraços a todos Joel - - -- Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread para o idFTP
Boa tarde! Como você resolveu o problema? Obrigado. Ulisses - Original Message - From: Joel Alexandre To: delphi-br@yahoogrupos.com.br Sent: Friday, December 12, 2008 11:52 AM Subject: Re: [delphi-br] Thread para o idFTP Resolvido. Valeu []Os Joel Bom dia pessoal, Estou utilizando o idFTP da Indy. O processo está funcionando corretamente. Estou conseguindo enviar os arquivos. Meu problema está no travamento da aplicação no momento do envio. Tentei utilizar Thread sem sucesso (até por falta de conhecimento mesmo). Alguem teria uma sugestão pra destravar a aplicação no momento do upload/download ? Abraços a todos Joel [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread para o idFTP
Com Thread mesmo Ulisses. Só que usando corretamente. To com problema agora pra cancelar o andamento do upload, mas até tirei essa opcão. []Os Joel Boa tarde! Como você resolveu o problema? Obrigado. Ulisses - Original Message - From: Joel Alexandre To: delphi-br@yahoogrupos.com.br Sent: Friday, December 12, 2008 11:52 AM Subject: Re: [delphi-br] Thread para o idFTP Resolvido. Valeu []Os Joel Bom dia pessoal, Estou utilizando o idFTP da Indy. O processo está funcionando corretamente. Estou conseguindo enviar os arquivos. Meu problema está no travamento da aplicação no momento do envio. Tentei utilizar Thread sem sucesso (até por falta de conhecimento mesmo). Alguem teria uma sugestão pra destravar a aplicação no momento do upload/download ? Abraços a todos Joel [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Thread para o idFTP
Bom dia pessoal, Estou utilizando o idFTP da Indy. O processo está funcionando corretamente. Estou conseguindo enviar os arquivos. Meu problema está no travamento da aplicação no momento do envio. Tentei utilizar Thread sem sucesso (até por falta de conhecimento mesmo). Alguem teria uma sugestão pra destravar a aplicação no momento do upload/download ? Abraços a todos Joel
Res: [delphi-br] Thread
http://pt.wikipedia.org/wiki/Thread_(ci%C3%AAncia_da_computa%C3%A7%C3%A3o) Luciano Calenzani Simões De: Rubens Antunes [EMAIL PROTECTED] Para: delphi-br@yahoogrupos.com.br Enviadas: Quinta-feira, 20 de Novembro de 2008 12:50:06 Assunto: [delphi-br] Thread tenho visto falar de Thread aqui na lista e gostaria de saber o que é uma Thread e para que serve uma thread? Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
RE: [delphi-br] Thread
http://br.groups.yahoo.com/group/lista-delphi/files/Apostilas/ Lá tem uma apostila (em inglês) que eu postei falando sobre threads e como implementá-las em Delphi. Sds. To: delphi-br@yahoogrupos.com.br From: [EMAIL PROTECTED] Date: Thu, 20 Nov 2008 07:50:06 -0800 Subject: [delphi-br] Thread Olá pessoal tenho visto falar de Thread aqui na lista e gostaria de saber o que é uma Thread e para que serve uma thread? Obrigado Rubens Antunes _ Confira vídeos com notícias do NY Times, gols direto do Lance, videocassetadas e muito mais no MSN Video! http://video.msn.com/?mkt=pt-br
RE: [delphi-br] Thread
Ah, ia me esquecendo! http://en.wikipedia.org/wiki/Thread_(computer_science) Pronto, agora vc vai saber o que é uma thread! Sds. To: delphi-br@yahoogrupos.com.br From: [EMAIL PROTECTED] Date: Fri, 21 Nov 2008 12:28:40 + Subject: RE: [delphi-br] Thread http://br.groups.yahoo.com/group/lista-delphi/files/Apostilas/ Lá tem uma apostila (em inglês) que eu postei falando sobre threads e como implementá-las em Delphi. Sds. To: delphi-br@yahoogrupos.com.br From: [EMAIL PROTECTED] Date: Thu, 20 Nov 2008 07:50:06 -0800 Subject: [delphi-br] Thread Olá pessoal tenho visto falar de Thread aqui na lista e gostaria de saber o que é uma Thread e para que serve uma thread? Obrigado Rubens Antunes _ Cansado de espaço para só 50 fotos? Conheça o Spaces, o site de relacionamentos com até 6,000 fotos! http://www.amigosdomessenger.com.br
Re: [delphi-br] Thread
Vocês são bons, mas quando quando querem ser chatos, vocês são ótimos!!! Se dão ao trabalho de responder nada, não seria melhor ficar em silêncio? (assim como não fiz agora?!rsrsrsrs) Agora vou pensar um trilhão de vezes antes de perguntar alguma coisa e se não tiver tempo de uma pesquisa mais profunda na net, estou pensando que será mais fácil me 'lascar' do que perguntar a vocês, se bem que acho que a maioria aqui não tem esse mal humor, pq já fiz umas perguntinhas chatas de iniciantes e recebi resposta. Af From: Rubem Nascimento da Rocha Sent: Friday, November 21, 2008 10:30 AM To: delphi-br Subject: RE: [delphi-br] Thread Ah, ia me esquecendo! http://en.wikipedia.org/wiki/Thread_(computer_science) Pronto, agora vc vai saber o que é uma thread! Sds. To: delphi-br@yahoogrupos.com.br From: [EMAIL PROTECTED] Date: Fri, 21 Nov 2008 12:28:40 + Subject: RE: [delphi-br] Thread http://br.groups.yahoo.com/group/lista-delphi/files/Apostilas/ Lá tem uma apostila (em inglês) que eu postei falando sobre threads e como implementá-las em Delphi. Sds. To: delphi-br@yahoogrupos.com.br From: [EMAIL PROTECTED] Date: Thu, 20 Nov 2008 07:50:06 -0800 Subject: [delphi-br] Thread Olá pessoal tenho visto falar de Thread aqui na lista e gostaria de saber o que é uma Thread e para que serve uma thread? Obrigado Rubens Antunes __ Cansado de espaço para só 50 fotos? Conheça o Spaces, o site de relacionamentos com até 6,000 fotos! http://www.amigosdomessenger.com.br
Re: [delphi-br] Thread
Janise, a idéia principal é sim, buscar profundamente antes de perguntar na lista... tem gente que nem pesquisa e recorre primeiro a lista.. sendo que se tivesse usado o querido google teria sua resposta na hora.. a ideia é essa mesmo, pesquisar, estudar se esforçar.. se de tudo não tiver sucesso recore aos colegas.. o problema é que uns e outros querem tudo de mão beijada (não estou fazendo insinuações a ninguém!!!) 2008/11/21 Janise Dantas [EMAIL PROTECTED] Vocês são bons, mas quando quando querem ser chatos, vocês são ótimos!!! Se dão ao trabalho de responder nada, não seria melhor ficar em silêncio? (assim como não fiz agora?!rsrsrsrs) Agora vou pensar um trilhão de vezes antes de perguntar alguma coisa e se não tiver tempo de uma pesquisa mais profunda na net, estou pensando que será mais fácil me 'lascar' do que perguntar a vocês, se bem que acho que a maioria aqui não tem esse mal humor, pq já fiz umas perguntinhas chatas de iniciantes e recebi resposta. Af From: Rubem Nascimento da Rocha Sent: Friday, November 21, 2008 10:30 AM To: delphi-br Subject: RE: [delphi-br] Thread Ah, ia me esquecendo! http://en.wikipedia.org/wiki/Thread_(computer_science) Pronto, agora vc vai saber o que é uma thread! Sds. To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br From: [EMAIL PROTECTED] djpardalrocha%40hotmail.com Date: Fri, 21 Nov 2008 12:28:40 + Subject: RE: [delphi-br] Thread http://br.groups.yahoo.com/group/lista-delphi/files/Apostilas/ Lá tem uma apostila (em inglês) que eu postei falando sobre threads e como implementá-las em Delphi. Sds. To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br From: [EMAIL PROTECTED] rubensantunes%40yahoo.com.br Date: Thu, 20 Nov 2008 07:50:06 -0800 Subject: [delphi-br] Thread Olá pessoal tenho visto falar de Thread aqui na lista e gostaria de saber o que é uma Thread e para que serve uma thread? Obrigado Rubens Antunes __ Cansado de espaço para só 50 fotos? Conheça o Spaces, o site de relacionamentos com até 6,000 fotos! http://www.amigosdomessenger.com.br _ -- ... Eduardo Silva dos Santos DRD SISTEMAS (27) 3218-4201 (27) 8842-9489 MSN: [EMAIL PROTECTED] Site: http://www.drdsistemas.com.br/ ... [As partes desta mensagem que não continham texto foram removidas]
Res: [delphi-br] Thread
Além disso eu e o Rubem respondemos o post citando material para estudo, inclusive em português. Luciano Calenzani Simões De: Eduardo Silva dos Santos [EMAIL PROTECTED] Para: delphi-br@yahoogrupos.com.br Enviadas: Sexta-feira, 21 de Novembro de 2008 15:47:44 Assunto: Re: [delphi-br] Thread Janise, a idéia principal é sim, buscar profundamente antes de perguntar na lista... tem gente que nem pesquisa e recorre primeiro a lista.. sendo que se tivesse usado o querido google teria sua resposta na hora.. a ideia é essa mesmo, pesquisar, estudar se esforçar.. se de tudo não tiver sucesso recore aos colegas.. o problema é que uns e outros querem tudo de mão beijada (não estou fazendo insinuações a ninguém!!!) Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread
ahan, sei... Apesar de realmente eu ter pesquisado na net antes de perguntar aqui, muitas vezes encontro um vocabulário meio difícil de entender, por que quando se fala do que se conhece já se pressupõe que quem vai ler já entenda do assunto, o que na verdade pra iniciante é uma dificuldade. Por isso sou cadastrada em alguns sites, foruns, grupos, tudo pra me inteirar do assunto. Bem... Obrigada aos que beijaram minha mão Abraços Janise Dantas From: Luciano Calenzani Simões Sent: Friday, November 21, 2008 5:01 PM To: delphi-br@yahoogrupos.com.br Subject: Res: [delphi-br] Thread Além disso eu e o Rubem respondemos o post citando material para estudo, inclusive em português. Luciano Calenzani Simões De: Eduardo Silva dos Santos [EMAIL PROTECTED] Para: delphi-br@yahoogrupos.com.br Enviadas: Sexta-feira, 21 de Novembro de 2008 15:47:44 Assunto: Re: [delphi-br] Thread Janise, a idéia principal é sim, buscar profundamente antes de perguntar na lista... tem gente que nem pesquisa e recorre primeiro a lista.. sendo que se tivesse usado o querido google teria sua resposta na hora.. a ideia é essa mesmo, pesquisar, estudar se esforçar.. se de tudo não tiver sucesso recore aos colegas.. o problema é que uns e outros querem tudo de mão beijada (não estou fazendo insinuações a ninguém!!!) Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread
A lista é quase um show do milhão, primeiro você tenta com seu esforço, caso não consiga, ai sim você recorre aos universitários. Coisas básicas o Google te responde e tem milhares de respostas muito mais completas usando o Google, com exemplos e tudo. Acho que não é usando de preguiça para pesquisar na net e chegar aqui perguntando e esculachando todo mundo que se resolve as coisas, pesquise antes, corra atrás, porque se você não for capaz de tentar e se esforçar nas mínimas coisas, não conseguirá entender o CONCEITO DE THREAD NUNCA. Agora, respondendo a sua pergunta com minhas palavras, uma THREAD é um processo que embora ligado à sua aplicação, ela roda em um processo a parte não fazendo uso do mesmo processo da sua aplicação, deixando a aplicação livre enquanto um outro processo está fazendo outras operações. Alguns dizem que THREAD rodam processos simultâneos no seu processador, por exemplo: 2 cálculos sendo executados ao mesmo tempo no processador, mas isso é impossível. A menos claro que você tenha multi-processadores, ai você pode delegar processos para cada um deles e assim executar processos simultâneos. Um exemplo de thread: Você tem uma aplicação que varre o html de um site em busca de links e para cada link você precisa acessar e varrer o html dele em busca de mais links e por ai vai (conceito de html spider). E conforme os links são varridos, você precisa ir preenchendo uma treeview. Agora imagina o quanto sua aplicação ficará travada enquanto esse processo é executado. Agora se para cada parser de html você fizer dentro de uma thread, sua aplicação ficará livre e você verá em tempo real sua treeview sendo alimentada pelas threads, enquanto isso você pode executar as outras operações dentro da sua aplicação. Acho que deu pra entender. Abs. 2008/11/21 Luciano Calenzani Simões [EMAIL PROTECTED] Além disso eu e o Rubem respondemos o post citando material para estudo, inclusive em português. Luciano Calenzani Simões De: Eduardo Silva dos Santos [EMAIL PROTECTED]eduardo.drd%40gmail.com Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br Enviadas: Sexta-feira, 21 de Novembro de 2008 15:47:44 Assunto: Re: [delphi-br] Thread Janise, a idéia principal é sim, buscar profundamente antes de perguntar na lista... tem gente que nem pesquisa e recorre primeiro a lista.. sendo que se tivesse usado o querido google teria sua resposta na hora.. a ideia é essa mesmo, pesquisar, estudar se esforçar.. se de tudo não tiver sucesso recore aos colegas.. o problema é que uns e outros querem tudo de mão beijada (não estou fazendo insinuações a ninguém!!!) Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] -- Atenciosamente, Paulo Coutinho. Site: www.prsolucoes.com Msn: [EMAIL PROTECTED] Skype: paulo.prsolucoes [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread
Entendo. Mas uma pesquisa simples como delphi thread retorna tudo sobre o assunto. http://www.google.com.br/search?q=delphi+threadie=utf-8oe=utf-8aq=trls=org.mozilla:pt-BR:officialclient=firefox-a O primeiro resultado ja é um guia definitivo com 2 links para o imasters, com exemplos e tudo. Na minha opinião sua resposta é inválida, mas enfim, tópico resolvido. 2008/11/21 Janise Dantas [EMAIL PROTECTED] ahan, sei... Apesar de realmente eu ter pesquisado na net antes de perguntar aqui, muitas vezes encontro um vocabulário meio difícil de entender, por que quando se fala do que se conhece já se pressupõe que quem vai ler já entenda do assunto, o que na verdade pra iniciante é uma dificuldade. Por isso sou cadastrada em alguns sites, foruns, grupos, tudo pra me inteirar do assunto. Bem... Obrigada aos que beijaram minha mão Abraços Janise Dantas From: Luciano Calenzani Simões Sent: Friday, November 21, 2008 5:01 PM To: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br Subject: Res: [delphi-br] Thread Além disso eu e o Rubem respondemos o post citando material para estudo, inclusive em português. Luciano Calenzani Simões De: Eduardo Silva dos Santos [EMAIL PROTECTED]eduardo.drd%40gmail.com Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.br Enviadas: Sexta-feira, 21 de Novembro de 2008 15:47:44 Assunto: Re: [delphi-br] Thread Janise, a idéia principal é sim, buscar profundamente antes de perguntar na lista... tem gente que nem pesquisa e recorre primeiro a lista.. sendo que se tivesse usado o querido google teria sua resposta na hora.. a ideia é essa mesmo, pesquisar, estudar se esforçar.. se de tudo não tiver sucesso recore aos colegas.. o problema é que uns e outros querem tudo de mão beijada (não estou fazendo insinuações a ninguém!!!) Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas] -- Atenciosamente, Paulo Coutinho. Site: www.prsolucoes.com Msn: [EMAIL PROTECTED] Skype: paulo.prsolucoes [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread
Que nada Janise... É só dar uma olhada no material que o Rubem mandou na primeira resposta dele que vai ver que a apostila é o bicho. Material de primeira mesmo; porém se voce estiver implementando em Delphi. Agora se você quer conhecer a teoria que envolve threads, o segundo link vai mais na linha, pois não se prende a nenhuma IDE/Linguagem. Apesar do tom meio seco, a resposta do Rubem foi muito eficiente. Pra mim é mais um upgrade. Pra centralizar melhor, vou fazer o upload dela aqui pra Delphi-BR, pois nem sempre o pessoal quer ficar se associando a muitas listas. []'s Ricardo. +--+ | Vamos ajudar o Grupo e o Yahoo! Apague o conteúdo irrelevante! | +--+ --- Em sex, 21/11/08, Janise Dantas [EMAIL PROTECTED] escreveu: De: Janise Dantas [EMAIL PROTECTED] Assunto: Re: [delphi-br] Thread Para: delphi-br@yahoogrupos.com.br Data: Sexta-feira, 21 de Novembro de 2008, 16:15 Vocês são bons, mas quando quando querem ser chatos, vocês são ótimos!!! Se dão ao trabalho de responder nada, não seria melhor ficar em silêncio? (assim como não fiz agora?!rsrsrsrs) Agora vou pensar um trilhão de vezes antes de perguntar alguma coisa e se não tiver tempo de uma pesquisa mais profunda na net, estou pensando que será mais fácil me 'lascar' do que perguntar a vocês, se bem que acho que a maioria aqui não tem esse mal humor, pq já fiz umas perguntinhas chatas de iniciantes e recebi resposta. Af Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Thread
Olá pessoal tenho visto falar de Thread aqui na lista e gostaria de saber o que é uma Thread e para que serve uma thread? Obrigado Rubens Antunes Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread
Para checar as atualizações. Como quero checar em de tempo em tempo, coloquei um sleep, dentro da thread, mais alguma ou o id.FTP.Get, ou o sleep, esta bloqueado O restante da apliacação, pois o restante para de responder, e fica aguardando. Alguem pode me ajudar? Desculpe amigo, mas não entendi, poderia redigir novamente com mais clareza? Rodrigo Junqueira escreveu: Ola lista. Pessoal preciso atualizar meu sistema automaticamente. Entao criei uma thread (PAI), dentro dessa thread pai, eu crio a thread filho, e na thread filho, eu uso o IDftp, Para checar as atualizações. Como quero checar em de tempo em tempo, coloquei um sleep, dentro da thread, mais alguma ou o id.FTP.Get, ou o sleep, esta bloqueado O restante da apliacação, pois o restante para de responder, e fica aguardando. Alguem pode me ajudar? Rodrigo [As partes desta mensagem que não continham texto foram removidas] __ Faça ligações para outros computadores com o novo Yahoo! Messenger http://br.beta.messenger.yahoo.com/
Re: Res: [delphi-br] Thread
Primeiro ponto: a instrução Sleep pára TODO o processamento da aplicação. Deve ser este o seu problema. Negativo, utilizo sleep dentro de threads e isso não procede. Segundo ponto: o uso de TTimers se aplica de maneira mais efetiva no seu caso. Ai é uma questão de como você gosta de trabalhar, eu recomendo o uso de threads, sem a menor duvida. Se está travando deve ser algum outro problema. Possivelmente o código que trava deve estar dentro de uma função Synchronize. Por favor poste o trecho de código aonde está ocorrendo o problema. Willian Jhonnes Lara dos Santos escreveu: Olá Rodrigo... Primeiro ponto: a instrução Sleep pára TODO o processamento da aplicação. Deve ser este o seu problema. Segundo ponto: o uso de TTimers se aplica de maneira mais efetiva no seu caso. Instancie um TTimer em suas threads chamando os evendos que vc deseja e estes problemas desaparecerão... []'s --- Att.: Willian Jhonnes L. dos Santos Analista/Desenvolvedor Object/Free Pascal [EMAIL PROTECTED] mailto:willianjhonnes%40yahoo.com.br --- Seja livre. Use Linux. Grupo de Usuários GNU/Linux de São José dos Pinhais Linux user number 449753 --- Powered by Slackware Linux 12.0 Kernel 2.6.21.5-custom --- - Mensagem original De: Rodrigo Junqueira [EMAIL PROTECTED] mailto:rodrigo%40foxdata.com.br Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br Enviadas: Segunda-feira, 4 de Agosto de 2008 13:12:30 Assunto: [delphi-br] Thread Ola lista. Pessoal preciso atualizar meu sistema automaticamente. Entao criei uma thread (PAI), dentro dessa thread pai, eu crio a thread filho, e na thread filho, eu uso o IDftp, Para checar as atualizações. Como quero checar em de tempo em tempo, coloquei um sleep, dentro da thread, mais alguma ou o id.FTP.Get, ou o sleep, esta bloqueado O restante da apliacação, pois o restante para de responder, e fica aguardando. Alguem pode me ajudar? Rodrigo [As partes desta mensagem que não continham texto foram removidas] Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua cara @ymail.com ou @rocketmail.com. http://br.new.mail.yahoo.com/addresses http://br.new.mail.yahoo.com/addresses [As partes desta mensagem que não continham texto foram removidas] __ Fa�a liga��es para outros computadores com o novo Yahoo! Messenger http://br.beta.messenger.yahoo.com/
[delphi-br] Thread
Ola lista. Pessoal preciso atualizar meu sistema automaticamente. Entao criei uma thread (PAI), dentro dessa thread pai, eu crio a thread filho, e na thread filho, eu uso o IDftp, Para checar as atualizações. Como quero checar em de tempo em tempo, coloquei um sleep, dentro da thread, mais alguma ou o id.FTP.Get, ou o sleep, esta bloqueado O restante da apliacação, pois o restante para de responder, e fica aguardando. Alguem pode me ajudar? Rodrigo [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread
Use um TTimer em vez de thread Sem mais, Marlon David de Souza Desenvolvimento Sysmo Informática Ltda Rodrigo Junqueira escreveu: Ola lista. Pessoal preciso atualizar meu sistema automaticamente. Entao criei uma thread (PAI), dentro dessa thread pai, eu crio a thread filho, e na thread filho, eu uso o IDftp, Para checar as atualizações. Como quero checar em de tempo em tempo, coloquei um sleep, dentro da thread, mais alguma ou o id.FTP.Get, ou o sleep, esta bloqueado O restante da apliacação, pois o restante para de responder, e fica aguardando. Alguem pode me ajudar?
Res: [delphi-br] Thread
Olá Rodrigo... Primeiro ponto: a instrução Sleep pára TODO o processamento da aplicação. Deve ser este o seu problema. Segundo ponto: o uso de TTimers se aplica de maneira mais efetiva no seu caso. Instancie um TTimer em suas threads chamando os evendos que vc deseja e estes problemas desaparecerão... []'s --- Att.: Willian Jhonnes L. dos Santos Analista/Desenvolvedor Object/Free Pascal [EMAIL PROTECTED] --- Seja livre. Use Linux. Grupo de Usuários GNU/Linux de São José dos Pinhais Linux user number 449753 --- Powered by Slackware Linux 12.0 Kernel 2.6.21.5-custom --- - Mensagem original De: Rodrigo Junqueira [EMAIL PROTECTED] Para: delphi-br@yahoogrupos.com.br Enviadas: Segunda-feira, 4 de Agosto de 2008 13:12:30 Assunto: [delphi-br] Thread Ola lista. Pessoal preciso atualizar meu sistema automaticamente. Entao criei uma thread (PAI), dentro dessa thread pai, eu crio a thread filho, e na thread filho, eu uso o IDftp, Para checar as atualizações. Como quero checar em de tempo em tempo, coloquei um sleep, dentro da thread, mais alguma ou o id.FTP.Get, ou o sleep, esta bloqueado O restante da apliacação, pois o restante para de responder, e fica aguardando. Alguem pode me ajudar? Rodrigo [As partes desta mensagem que não continham texto foram removidas] Novos endereços, o Yahoo! que você conhece. Crie um email novo com a sua cara @ymail.com ou @rocketmail.com. http://br.new.mail.yahoo.com/addresses [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Thread
Pessoal boa noite. Estou gatinhando no Delphi ainda e gostaria de saber dos senhores se existe algum exemplo de utilização de threads para exeção de Querys. Qualquer ajuda será bem vinda. Valeu []Os Joel [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread
Imaginando que vc quer executar uma query de tempos em tempos dentro da Thread, vc pode fazer o seguinte : 1. No seu projeto no delphi, crie uma nova classe : File -New - Other - New - Thread Object Você terá um esqueleto de uma classe que herda de TThread, e será portanto, a sua Thread. 2. No método Execute , implemente algo assim : while not Terminated do begin // Escreva aqui o código p/ executar a sua query Sleep(tempo_mili_segundos); // espera um tempo até a próxima execução end; Ao usar a classe no projeto, vc pode ter o controle da execução através dos métodos Resume, Suspend e Terminate. Em 01/04/08, Joel Alexandre [EMAIL PROTECTED] escreveu: Pessoal boa noite. Estou gatinhando no Delphi ainda e gostaria de saber dos senhores se existe algum exemplo de utilização de threads para exeção de Querys. Qualquer ajuda será bem vinda. Valeu []Os Joel [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread
Recentemente (creio que há no máximo umas 3 edições atrás) saíram 2 artigos tratando exatamente sobre isso na revista ActiveDelphi. Dá uma olhada no site deles que vc pode até achar o link para os arquivos de exemplo das matérias. Atte, Ricardo. Joel Alexandre [EMAIL PROTECTED] escreveu: Pessoal boa noite. Estou gatinhando no Delphi ainda e gostaria de saber dos senhores se existe algum exemplo de utilização de threads para exeção de Querys. Qualquer ajuda será bem vinda. Valeu []Os Joel [As partes desta mensagem que não continham texto foram removidas] _ - Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread
Consultores, Obrigado pela dica. Deixa eu só entender. É dentro deste metodo execute que eu coloco aqueles codigos que praticamente travam o programa? Utilizando o codigo pra executar a query como o Sr disse, eu precisaria executar o metodo Syncronize? []Os Joel Consultores Software escreveu: Imaginando que vc quer executar uma query de tempos em tempos dentro da Thread, vc pode fazer o seguinte : 1. No seu projeto no delphi, crie uma nova classe : File -New - Other - New - Thread Object Você terá um esqueleto de uma classe que herda de TThread, e será portanto, a sua Thread. 2. No método Execute , implemente algo assim : while not Terminated do begin // Escreva aqui o código p/ executar a sua query Sleep(tempo_mili_segundos); // espera um tempo até a próxima execução end; Ao usar a classe no projeto, vc pode ter o controle da execução através dos métodos Resume, Suspend e Terminate. Em 01/04/08, Joel Alexandre [EMAIL PROTECTED] escreveu: Pessoal boa noite. Estou gatinhando no Delphi ainda e gostaria de saber dos senhores se existe algum exemplo de utilização de threads para exeção de Querys. Qualquer ajuda será bem vinda. Valeu []Os Joel [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] Thread
Sobre o método Execute, é lá que você deve implementar aquilo que você quer que a Thread faça. A vantagem é que você terá maior controle externo sobre a execução dela, pois pode colocar um botão parar na janela e usar Thread.Suspend , se ela estiver travando. Synchronize vc deve usar para fazer acesso a algum objeto que seja compartilhado dentro da aplicação. Exemplo: vc quer escrever um TLabel que está no form ( portanto externo à Thread ) o andamento da execução. assim, dentro de Execute, use synchronize(EscreverNoLabel); onde : procedure TMyThread.EscreverNoLabel; begin MyLabel.Caption := FloatToStr(FPorcento) + '% concluído'; end; Em 02/04/08, Joel Alexandre [EMAIL PROTECTED] escreveu: Consultores, Obrigado pela dica. Deixa eu só entender. É dentro deste metodo execute que eu coloco aqueles codigos que praticamente travam o programa? Utilizando o codigo pra executar a query como o Sr disse, eu precisaria executar o metodo Syncronize? []Os Joel Consultores Software escreveu: Imaginando que vc quer executar uma query de tempos em tempos dentro da Thread, vc pode fazer o seguinte : 1. No seu projeto no delphi, crie uma nova classe : File -New - Other - New - Thread Object Você terá um esqueleto de uma classe que herda de TThread, e será portanto, a sua Thread. 2. No método Execute , implemente algo assim : while not Terminated do begin // Escreva aqui o código p/ executar a sua query Sleep(tempo_mili_segundos); // espera um tempo até a próxima execução end; Ao usar a classe no projeto, vc pode ter o controle da execução através dos métodos Resume, Suspend e Terminate. Em 01/04/08, Joel Alexandre [EMAIL PROTECTED] escreveu: Pessoal boa noite. Estou gatinhando no Delphi ainda e gostaria de saber dos senhores se existe algum exemplo de utilização de threads para exeção de Querys. Qualquer ajuda será bem vinda. Valeu []Os Joel [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread
Valeu mesmo.. Agora deu pra entender legal. []Os Joel Sobre o método Execute, é lá que você deve implementar aquilo que você quer que a Thread faça. A vantagem é que você terá maior controle externo sobre a execução dela, pois pode colocar um botão parar na janela e usar Thread.Suspend , se ela estiver travando. Synchronize vc deve usar para fazer acesso a algum objeto que seja compartilhado dentro da aplicação. Exemplo: vc quer escrever um TLabel que está no form ( portanto externo à Thread ) o andamento da execução. assim, dentro de Execute, use synchronize(EscreverNoLabel); onde : procedure TMyThread.EscreverNoLabel; begin MyLabel.Caption := FloatToStr(FPorcento) + '% concluído'; end; -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[delphi-br] Thread para frames
Olá a todos, Eu tenho uma tela que possui quatro frames herdados de um frame genérico. Eu gostaria de fazer uma forma de faze-los serem carregados paralelamente... Aí eu pensei em threads... mas não possuo muita experiência com threads e acho que me confundi... Alguém pode me dar alguma dica de como fazer? -- TFA, Leslyn Fernandes 55-11-9159-3837 Computer Engineer Integra Solutions Imagination is more important than knowledge. - Albert Einstein [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread.
Você pode gerar várias instâncias da mesma classe que você construiu... [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread.
Domingos Neto wrote: Gostaria de saber se com uma thread, consigo gerar mais threads, herdando da primeira. Você poderia explicar melhor o que você pretende fazer? -- Joao Morais
[delphi-br] Thread.
Gostaria de saber se com uma thread, consigo gerar mais threads, herdando da primeira. Grato pela atenção, Domingos Neto Programador Jr. [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Thread.
Olá, Gostaria de saber se com uma thread, consigo gerar mais threads, herdando da primeira. Grato pela atenção, Domingos Neto Programador Jr. [As partes desta mensagem que não continham texto foram removidas]
RES: RES: RES: [delphi-br] Thread - Problemas!
Vc já testou o código dentro do exe? Acho q pode ser algum problema de notificação de handle. Se for possível, faça o teste de chamada dentro do próprio EXE. []´s Sérgio T. Uetanabaro _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de malikoski Enviada em: quarta-feira, 19 de dezembro de 2007 16:39 Para: delphi-br@yahoogrupos.com.br Assunto: Re: RES: RES: [delphi-br] Thread - Problemas! Bom.. eu ja havia feito isso, ele trava no método : TThread.Syncronyze nessa função na linha 1051 WaitForSingleObject-(SyncProcPtr.-Signal, INFINITE); A princípio vamos esquecer o objeto de conexão, query, etc Quero apenas ver se passa pelo método syncronyze do execute for vi := 0 to 9 do begin I := vi; Synchronize(-Mostra); end; ... function Mostra begin showmessage(-inttostr(-I)); end; que coisa malucaaa Ricardo No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.503 / Virus Database: 269.17.5/1190 - Release Date: 19/12/2007 19:37 No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.503 / Virus Database: 269.17.5/1190 - Release Date: 19/12/2007 19:37 [As partes desta mensagem que não continham texto foram removidas]
RES: [delphi-br] Thread - Problemas!
Ola Ricardo! Revendo seu código acredito que vc esteja em um deadlock. Vc chama a thread e depois entra num waitfor. Depois na thread vc tentar dar um sync com a maisthread que está travada esperando a sua thread terminar. Acredito que ai esteja seu problema. Outra coisa, vc definiu um field public Priority mas a thread ja tem uma propriedade pra definir isso. Só uma pergunta: Como vc pretende fazer a carga das informações dos datasets da thread para os datasets do formulário? []´s Sérgio T. Uetanabaro _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de malikoski Enviada em: terça-feira, 18 de dezembro de 2007 16:33 Para: delphi-br@yahoogrupos.com.br Assunto: [delphi-br] Thread - Problemas! Pessoal, estou desenvolvendo um sistema que possui a seguinte situação: Opções do menu carregam uma DLL que se encarrega de criar um formulário dinâmicamente. Logo após tenho um objeto em uma outra unit que possui funções para gerar os objetos visuais nesse formulário.(tudo dinâmicamente) Nesse formulário é criado um dbgrid onde é aberto uma tabela(de acordo com a opção do menu principal) onde assim os dados são exibidos. Algumas telas ficam lentas até carregar todos os dados da tabela, pois algumas possuem milhares de registros, assim achamos melhor usar uma thread para carregar essa tabela, assim o usuário abrir outro processo no programa. Eu estou conseguindo abrir certinho na thread, mas não estou conseguindo atulizar alguns dados da tela como componentes que mostram que os dados estão carrengando, e também não consigo verificar quando a thread termina, pois quando ela passa la no evento Syncronize(minhafun-caoexemplo) ele simplesmente para de executar a thread e não passa pelo método (onTerminate)-. Exemplo abaixo: função na DLL: procedure ShowForm(NewApplica-tion, NewScreen : Pointer; FormName : String; Params : TStringList)-; ... oForm := TForm.Create(-Application.-MainForm)-; oForm.Name := FormName; oMontaTela := Tmontar_tela.-Create(oForm)-; oMontaTela._-Montar_GRID(-oDM.oSQLConnecti-on, Params.ValueFromInd-ex[viIdxCodTab]-, Params.ValueFromInd-ex[viIdxMat]-,oForm); ... end; na unit que existe a classe Tmontar_tela TConsultaThread = class(TThread) private SessaoCritica: TCriticalSection; protected procedure Execute; override; procedure Atualiza; public oDataSource : TDataSource; Priority : TThreadPriority; oQuery : TSQLQuery; oCDS : TClientDataSet; oMontatela : Tmontar_tela; I : integer; end; ... ... ... Tmontar_tela = class(TObject) private oThread : TConsultaThread; ... public function RunThread(Query : TSQLQuery; CDS : TClientDataSet; DS : TDataSource; MontaTela : Tmontar_Tela) : TConsultaThread; procedure ThreadTerminate(-Sender: TObject); procedure Tmontar_tela.-_ShowForm(-Sender: TObject); //procedure atribuída manualmente (onShow) begin oThread := RunThread(SQLQ_-DB2, CDS_DB2, DS_DB2, Self); // if not oThread.Terminated then begin // oThread.WaitFor; // end; end; ... function Tmontar_tela.-RunThread(-Query : TSQLQuery; CDS : TClientDataSet; DS : TDataSource; MontaTela : Tmontar_Tela) : TConsultaThread; var oConsThread : TConsultaThread; begin oConsThread := TConsultaThread.-Create(True)-; oConsThread.-FreeOnTerminate := True; oConsThread.-Priority := tpHigher; oConsThread.-OnTerminate := ThreadTerminate; oConsThread.-oQuery := Query; oConsThread.-oCDS := CDS; oConsThread.-oDataSource := DS; oConsThread.-oMontatela := MontaTela; oConsThread.-Resume; Result := oConsThread; end; procedure TConsultaThread.-Execute; var oConn : TSQLConnection; begin oConn := nil; oConn := TSQLConnection.-Create(nil)-; with oConn do begin ... parâmetros de conexão end; oConn.Connected := True; oQuery.SQLConnectio-n := oConn; Synchronize(-Atualiza)-; oCDS.Close; oCDS.Open; Sleep(20); end; procedure TConsultaThread.-Atualiza; begin oMontatela._-PainelStatus.-Caption := 'carregando.-..'; end; procedure Tmontar_tela.-ThreadTerminate(-Sender: TObject); begin _PainelStatus.-Caption := 'Pronto!...'-; Sleep(20); _PainelStatus.-Visible := False; Application.-ProcessMessages; Sender := nil; end; Desculpem a quantidade código... obrigado Ricardo No virus found in this incoming message. Checked by AVG Free Edition. Version: 7.5.503 / Virus Database: 269.17.4/1188 - Release Date: 17/12/2007 14:13 No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.5.503 / Virus Database: 269.17.4/1188 - Release Date: 17/12/2007 14:13 [As partes desta mensagem que não continham texto foram removidas]
Re: RES: [delphi-br] Thread - Problemas!
Oi Sérgio,, Eu tinha colocado o waitfor apenas para teste mas deixei ele comentado. Quando executo o waitfor o sistema espera terminar a thread e assim passa pelo syncronize e onterminate (que eu defini. pelo menos foi isso que notei nos meus testes). O fied da prioridade eu também usei, mas não estou usando mais e esqueci de apagar. Pra carregar os dados eu apenas liguei um DBGrid ao datasource ligado ao dataset que está sendo aberto na thread. Fiz outros testes sem acesso a dados, como um laço por exemplo na thread, apenas para testar a funcionalidade, e não funciona de jeito nenhum. Será que preciso definir algo na DLL? Obrigado Ricardo --- Em delphi-br@yahoogrupos.com.br, Sérgio T. Uetanabaro [EMAIL PROTECTED] escreveu Ola Ricardo! Revendo seu código acredito que vc esteja em um deadlock. Vc chama a thread e depois entra num waitfor. Depois na thread vc tentar dar um sync com a maisthread que está travada esperando a sua thread terminar. Acredito que ai esteja seu problema. Outra coisa, vc definiu um field public Priority mas a thread ja tem uma propriedade pra definir isso. Só uma pergunta: Como vc pretende fazer a carga das informações dos datasets da thread para os datasets do formulário? []´s Sérgio T. Uetanabaro _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de malikoski Enviada em: terça-feira, 18 de dezembro de 2007 16:33 Para: delphi-br@yahoogrupos.com.br Assunto: [delphi-br] Thread - Problemas! Pessoal, estou desenvolvendo um sistema que possui a seguinte situação: Opções do menu carregam uma DLL que se encarrega de criar um formulário dinâmicamente. Logo após tenho um objeto em uma outra unit que possui funções para gerar os objetos visuais nesse formulário.(tudo dinâmicamente) Nesse formulário é criado um dbgrid onde é aberto uma tabela(de acordo com a opção do menu principal) onde assim os dados são exibidos. Algumas telas ficam lentas até carregar todos os dados da tabela, pois algumas possuem milhares de registros, assim achamos melhor usar uma thread para carregar essa tabela, assim o usuário abrir outro processo no programa. Eu estou conseguindo abrir certinho na thread, mas não estou conseguindo atulizar alguns dados da tela como componentes que mostram que os dados estão carrengando, e também não consigo verificar quando a thread termina, pois quando ela passa la no evento Syncronize(minhafun-caoexemplo) ele simplesmente para de executar a thread e não passa pelo método (onTerminate)-. Exemplo abaixo: função na DLL: procedure ShowForm(NewApplica-tion, NewScreen : Pointer; FormName : String; Params : TStringList)-; ... oForm := TForm.Create(-Application.-MainForm)-; oForm.Name := FormName; oMontaTela := Tmontar_tela.-Create(oForm)-; oMontaTela._-Montar_GRID(-oDM.oSQLConnecti-on, Params.ValueFromInd-ex[viIdxCodTab]-, Params.ValueFromInd-ex[viIdxMat]-,oForm); ... end; na unit que existe a classe Tmontar_tela TConsultaThread = class(TThread) private SessaoCritica: TCriticalSection; protected procedure Execute; override; procedure Atualiza; public oDataSource : TDataSource; Priority : TThreadPriority; oQuery : TSQLQuery; oCDS : TClientDataSet; oMontatela : Tmontar_tela; I : integer; end; ... ... ... Tmontar_tela = class(TObject) private oThread : TConsultaThread; ... public function RunThread(Query : TSQLQuery; CDS : TClientDataSet; DS : TDataSource; MontaTela : Tmontar_Tela) : TConsultaThread; procedure ThreadTerminate(-Sender: TObject); procedure Tmontar_tela.-_ShowForm(-Sender: TObject); //procedure atribuída manualmente (onShow) begin oThread := RunThread(SQLQ_-DB2, CDS_DB2, DS_DB2, Self); // if not oThread.Terminated then begin // oThread.WaitFor; // end; end; ... function Tmontar_tela.-RunThread(-Query : TSQLQuery; CDS : TClientDataSet; DS : TDataSource; MontaTela : Tmontar_Tela) : TConsultaThread; var oConsThread : TConsultaThread; begin oConsThread := TConsultaThread.-Create(True)-; oConsThread.-FreeOnTerminate := True; oConsThread.-Priority := tpHigher; oConsThread.-OnTerminate := ThreadTerminate; oConsThread.-oQuery := Query; oConsThread.-oCDS := CDS; oConsThread.-oDataSource := DS; oConsThread.-oMontatela := MontaTela; oConsThread.-Resume; Result := oConsThread; end; procedure TConsultaThread.-Execute; var oConn : TSQLConnection; begin oConn := nil; oConn := TSQLConnection.-Create(nil)-; with oConn do begin ... parâmetros de conexão end; oConn.Connected := True; oQuery.SQLConnectio-n := oConn; Synchronize(-Atualiza)-; oCDS.Close; oCDS.Open; Sleep(20); end; procedure TConsultaThread.-Atualiza; begin oMontatela._-PainelStatus.-Caption := 'carregando.-..'; end; procedure Tmontar_tela.-ThreadTerminate(-Sender: TObject); begin _PainelStatus.-Caption := 'Pronto!...'-; Sleep(20); _PainelStatus.-Visible := False; Application
RES: RES: [delphi-br] Thread - Problemas!
Gde Ricardo, Eu nao tinha visto os comentarios... heheh... sorry. Mas voltando a analisar o código, tenta entrar no metodo syncronize e vai entrado codigo adentro ate achar onde ele para para que possamos ter uma pista sobre o problema. Outro problema q estou vendo eh q vc vai usar uma nova conexao na thread, certo? Vc vai ligar TSQLQuery nele? Cuidado com isso pq o provider vai usa-lo pros devidos inserts e updates. []´s Sérgio T. Uetanabaro _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de malikoski Enviada em: quarta-feira, 19 de dezembro de 2007 09:31 Para: delphi-br@yahoogrupos.com.br Assunto: Re: RES: [delphi-br] Thread - Problemas! Oi Sérgio,, Eu tinha colocado o waitfor apenas para teste mas deixei ele comentado. Quando executo o waitfor o sistema espera terminar a thread e assim passa pelo syncronize e onterminate (que eu defini. pelo menos foi isso que notei nos meus testes). O fied da prioridade eu também usei, mas não estou usando mais e esqueci de apagar. Pra carregar os dados eu apenas liguei um DBGrid ao datasource ligado ao dataset que está sendo aberto na thread. Fiz outros testes sem acesso a dados, como um laço por exemplo na thread, apenas para testar a funcionalidade, e não funciona de jeito nenhum. Será que preciso definir algo na DLL? Obrigado Ricardo --- Em HYPERLINK mailto:delphi-br%40yahoogrupos.com.br[EMAIL PROTECTED], Sérgio T. Uetanabaro [EMAIL PROTECTED] escreveu Ola Ricardo! Revendo seu código acredito que vc esteja em um deadlock. Vc chama a thread e depois entra num waitfor. Depois na thread vc tentar dar um sync com a maisthread que está travada esperando a sua thread terminar. Acredito que ai esteja seu problema. Outra coisa, vc definiu um field public Priority mas a thread ja tem uma propriedade pra definir isso. Só uma pergunta: Como vc pretende fazer a carga das informações dos datasets da thread para os datasets do formulário? []´s Sérgio T. Uetanabaro _ De: HYPERLINK mailto:delphi-br%40yahoogrupos.com.br[EMAIL PROTECTED] [mailto:HYPERLINK mailto:delphi-br%40yahoogrupos.com.br[EMAIL PROTECTED] Em nome de malikoski Enviada em: terça-feira, 18 de dezembro de 2007 16:33 Para: HYPERLINK mailto:delphi-br%40yahoogrupos.com.br[EMAIL PROTECTED] Assunto: [delphi-br] Thread - Problemas! Pessoal, estou desenvolvendo um sistema que possui a seguinte situação: Opções do menu carregam uma DLL que se encarrega de criar um formulário dinâmicamente. Logo após tenho um objeto em uma outra unit que possui funções para gerar os objetos visuais nesse formulário.(tudo dinâmicamente) Nesse formulário é criado um dbgrid onde é aberto uma tabela(de acordo com a opção do menu principal) onde assim os dados são exibidos. Algumas telas ficam lentas até carregar todos os dados da tabela, pois algumas possuem milhares de registros, assim achamos melhor usar uma thread para carregar essa tabela, assim o usuário abrir outro processo no programa. Eu estou conseguindo abrir certinho na thread, mas não estou conseguindo atulizar alguns dados da tela como componentes que mostram que os dados estão carrengando, e também não consigo verificar quando a thread termina, pois quando ela passa la no evento Syncronize(minhafun--caoexemplo) ele simplesmente para de executar a thread e não passa pelo método (onTerminate)--. Exemplo abaixo: função na DLL: procedure ShowForm(NewApplica--tion, NewScreen : Pointer; FormName : String; Params : TStringList)--; ... oForm := TForm.Create(--Application.--MainForm)--; oForm.Name := FormName; oMontaTela := Tmontar_tela.--Create(oForm)--; oMontaTela._--Montar_GRID(--oDM.oSQLConnect-i-on, Params.ValueFromInd--ex[viIdxCodTab]--, Params.ValueFromInd--ex[viIdxMat]--,oForm); ... end; na unit que existe a classe Tmontar_tela TConsultaThread = class(TThread) private SessaoCritica: TCriticalSection; protected procedure Execute; override; procedure Atualiza; public oDataSource : TDataSource; Priority : TThreadPriority; oQuery : TSQLQuery; oCDS : TClientDataSet; oMontatela : Tmontar_tela; I : integer; end; ... ... ... Tmontar_tela = class(TObject) private oThread : TConsultaThread; ... public function RunThread(Query : TSQLQuery; CDS : TClientDataSet; DS : TDataSource; MontaTela : Tmontar_Tela) : TConsultaThread; procedure ThreadTerminate(--Sender: TObject); procedure Tmontar_tela.--_ShowForm(--Sender: TObject); //procedure atribuída manualmente (onShow) begin oThread := RunThread(SQLQ_--DB2, CDS_DB2, DS_DB2, Self); // if not oThread.Terminated then begin // oThread.WaitFor; // end; end; ... function Tmontar_tela.--RunThread(--Query : TSQLQuery; CDS : TClientDataSet; DS : TDataSource; MontaTela : Tmontar_Tela) : TConsultaThread; var oConsThread : TConsultaThread; begin oConsThread := TConsultaThread.--Create(True)--; oConsThread.--FreeOnTerminate := True; oConsThread
Re: RES: RES: [delphi-br] Thread - Problemas!
Bom.. eu ja havia feito isso, ele trava no método : TThread.Syncronyze nessa função na linha 1051 WaitForSingleObject(SyncProcPtr.Signal, INFINITE); A princípio vamos esquecer o objeto de conexão, query, etc Quero apenas ver se passa pelo método syncronyze do execute for vi := 0 to 9 do begin I := vi; Synchronize(Mostra); end; ... function Mostra begin showmessage(inttostr(I)); end; que coisa malucaaa Ricardo
[delphi-br] Thread - Problemas!
Pessoal, estou desenvolvendo um sistema que possui a seguinte situação: Opções do menu carregam uma DLL que se encarrega de criar um formulário dinâmicamente. Logo após tenho um objeto em uma outra unit que possui funções para gerar os objetos visuais nesse formulário.(tudo dinâmicamente) Nesse formulário é criado um dbgrid onde é aberto uma tabela(de acordo com a opção do menu principal) onde assim os dados são exibidos. Algumas telas ficam lentas até carregar todos os dados da tabela, pois algumas possuem milhares de registros, assim achamos melhor usar uma thread para carregar essa tabela, assim o usuário abrir outro processo no programa. Eu estou conseguindo abrir certinho na thread, mas não estou conseguindo atulizar alguns dados da tela como componentes que mostram que os dados estão carrengando, e também não consigo verificar quando a thread termina, pois quando ela passa la no evento Syncronize(minhafuncaoexemplo) ele simplesmente para de executar a thread e não passa pelo método (onTerminate). Exemplo abaixo: função na DLL: procedure ShowForm(NewApplication, NewScreen : Pointer; FormName : String; Params : TStringList); ... oForm := TForm.Create(Application.MainForm); oForm.Name := FormName; oMontaTela := Tmontar_tela.Create(oForm); oMontaTela._Montar_GRID(oDM.oSQLConnection, Params.ValueFromIndex[viIdxCodTab], Params.ValueFromIndex[viIdxMat],oForm); ... end; na unit que existe a classe Tmontar_tela TConsultaThread = class(TThread) private SessaoCritica: TCriticalSection; protected procedure Execute; override; procedure Atualiza; public oDataSource : TDataSource; Priority: TThreadPriority; oQuery : TSQLQuery; oCDS : TClientDataSet; oMontatela : Tmontar_tela; I : integer; end; ... ... ... Tmontar_tela = class(TObject) private oThread : TConsultaThread; ... public function RunThread(Query : TSQLQuery; CDS : TClientDataSet; DS : TDataSource; MontaTela : Tmontar_Tela) : TConsultaThread; procedure ThreadTerminate(Sender: TObject); procedure Tmontar_tela._ShowForm(Sender: TObject); //procedure atribuída manualmente (onShow) begin oThread := RunThread(SQLQ_DB2, CDS_DB2, DS_DB2, Self); // if not oThread.Terminated then begin // oThread.WaitFor; // end; end; ... function Tmontar_tela.RunThread(Query : TSQLQuery; CDS : TClientDataSet; DS : TDataSource; MontaTela : Tmontar_Tela) : TConsultaThread; var oConsThread : TConsultaThread; begin oConsThread := TConsultaThread.Create(True); oConsThread.FreeOnTerminate := True; oConsThread.Priority:= tpHigher; oConsThread.OnTerminate := ThreadTerminate; oConsThread.oQuery := Query; oConsThread.oCDS:= CDS; oConsThread.oDataSource := DS; oConsThread.oMontatela := MontaTela; oConsThread.Resume; Result := oConsThread; end; procedure TConsultaThread.Execute; var oConn : TSQLConnection; begin oConn := nil; oConn := TSQLConnection.Create(nil); with oConn do begin ... parâmetros de conexão end; oConn.Connected := True; oQuery.SQLConnection := oConn; Synchronize(Atualiza); oCDS.Close; oCDS.Open; Sleep(20); end; procedure TConsultaThread.Atualiza; begin oMontatela._PainelStatus.Caption := 'carregando...'; end; procedure Tmontar_tela.ThreadTerminate(Sender: TObject); begin _PainelStatus.Caption := 'Pronto!...'; Sleep(20); _PainelStatus.Visible := False; Application.ProcessMessages; Sender := nil; end; Desculpem a quantidade código... obrigado Ricardo
Re: [delphi-br] Thread
Evaldo escreveu: Eu estou iniciando em programação paralela, e me deparei com o seguinte problema: quando o sistema inicia, ele cria threads que vao executar tarefas demoradas. Se o programa for fechado antes das threads terminarem, ocorrer erro de acsses violation. Como eu posso interromper a execução dessas threads? eu crio-as da seguinte forma: var hThreadID : THandle; begin hThreadID := CreateThread (nil, 0, @Funcao, nil, 0, ThreadID); Evaldo, nunca trabalhei com THandle, pelo menos não me lembro. Faça o seguinte, experimente colocar um codigo dentro do evento OnCloseQuery assim: procedure TSeuTFormPrincipal.FormCloseQuery(Sender: TObject; var CanClose: Boolean); begin Try FreeAndNil(hThreadID); CanClose := True; Except CanClose := False; {Coloque codigos para informar que nao foi possivel fechar} End; end; Tenta aí.. []Os Joel -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] Thread
hThreadID.Terminate; ??? Luiz Escobar - Analista/Desenvolvedor: WEB - HTML/JavaScript/PHP/MySQL WINDOWS - Delphi/ASSEMBLY/MySQL/xBase SERVIDORES - CNA IntraNetWare4.11, LINUX-(RedHat9/Suse10.2), Windows 2K/XP - Original Message - From: Evaldo To: delphi-br@yahoogrupos.com.br Sent: Friday, October 19, 2007 4:43 PM Subject: [delphi-br] Thread Eu estou iniciando em programação paralela, e me deparei com o seguinte problema: quando o sistema inicia, ele cria threads que vao executar tarefas demoradas. Se o programa for fechado antes das threads terminarem, ocorrer erro de acsses violation. Como eu posso interromper a execução dessas threads? eu crio-as da seguinte forma: var hThreadID : THandle; begin hThreadID := CreateThread (nil, 0, @Funcao, nil, 0, ThreadID); Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
RES: [delphi-br] Thread
Inicialmente eu te aconselho a utilizar a classe TThread do delphi para isso ao invés de usar API do windows. Caso vc queira realmente utilizar a API, dá uma olhada em http://msdn2.microsoft.com/en-us/library/ms682453.aspx []´s Sergio Uetanabaro _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Evaldo Enviada em: sexta-feira, 19 de outubro de 2007 15:44 Para: delphi-br@yahoogrupos.com.br Assunto: [delphi-br] Thread Eu estou iniciando em programação paralela, e me deparei com o seguinte problema: quando o sistema inicia, ele cria threads que vao executar tarefas demoradas. Se o programa for fechado antes das threads terminarem, ocorrer erro de acsses violation. Como eu posso interromper a execução dessas threads? eu crio-as da seguinte forma: var hThreadID : THandle; begin hThreadID := CreateThread (nil, 0, @Funcao, nil, 0, ThreadID); Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail. http://br.mail.yahoo.com/ yahoo.com/ [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Thread
Eu estou iniciando em programação paralela, e me deparei com o seguinte problema: quando o sistema inicia, ele cria threads que vao executar tarefas demoradas. Se o programa for fechado antes das threads terminarem, ocorrer erro de acsses violation. Como eu posso interromper a execução dessas threads? eu crio-as da seguinte forma: var hThreadID : THandle; begin hThreadID := CreateThread (nil, 0, @Funcao, nil, 0, ThreadID); Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas]
Res: RES: [delphi-br] Thread
Obrigado pela força, seu conselho é de grande valia. Inicialmente eu te aconselho a utilizar a classe TThread do delphi para isso ao invés de usar API do windows. Caso vc queira realmente utilizar a API, dá uma olhada em http://msdn2. microsoft. com/en-us/ library/ms682453 .aspx !-- #ygrp-mkp{ border:1px solid #d8d8d8;font-family:Arial;margin:14px 0px;padding:0px 14px;} #ygrp-mkp hr{ border:1px solid #d8d8d8;} #ygrp-mkp #hd{ color:#628c2a;font-size:85%;font-weight:bold;line-height:122%;margin:10px 0px;} #ygrp-mkp #ads{ margin-bottom:10px;} #ygrp-mkp .ad{ padding:0 0;} #ygrp-mkp .ad a{ color:#ff;text-decoration:none;} -- !-- #ygrp-sponsor #ygrp-lc{ font-family:Arial;} #ygrp-sponsor #ygrp-lc #hd{ margin:10px 0px;font-weight:bold;font-size:78%;line-height:122%;} #ygrp-sponsor #ygrp-lc .ad{ margin-bottom:10px;padding:0 0;} -- !-- #ygrp-mlmsg {font-size:13px;font-family:arial, helvetica, clean, sans-serif;} #ygrp-mlmsg table {font-size:inherit;font:100%;} #ygrp-mlmsg select, input, textarea {font:99% arial, helvetica, clean, sans-serif;} #ygrp-mlmsg pre, code {font:115% monospace;} #ygrp-mlmsg * {line-height:1.22em;} #ygrp-text{ font-family:Georgia; } #ygrp-text p{ margin:0 0 1em 0;} #ygrp-tpmsgs{ font-family:Arial; clear:both;} #ygrp-vitnav{ padding-top:10px;font-family:Verdana;font-size:77%;margin:0;} #ygrp-vitnav a{ padding:0 1px;} #ygrp-actbar{ clear:both;margin:25px 0;white-space:nowrap;color:#666;text-align:right;} #ygrp-actbar .left{ float:left;white-space:nowrap;} .bld{font-weight:bold;} #ygrp-grft{ font-family:Verdana;font-size:77%;padding:15px 0;} #ygrp-ft{ font-family:verdana;font-size:77%;border-top:1px solid #666; padding:5px 0; } #ygrp-mlmsg #logo{ padding-bottom:10px;} #ygrp-vital{ background-color:#e0ecee;margin-bottom:20px;padding:2px 0 8px 8px;} #ygrp-vital #vithd{ font-size:77%;font-family:Verdana;font-weight:bold;color:#333;text-transform:uppercase;} #ygrp-vital ul{ padding:0;margin:2px 0;} #ygrp-vital ul li{ list-style-type:none;clear:both;border:1px solid #e0ecee; } #ygrp-vital ul li .ct{ font-weight:bold;color:#ff7900;float:right;width:2em;text-align:right;padding-right:.5em;} #ygrp-vital ul li .cat{ font-weight:bold;} #ygrp-vital a{ text-decoration:none;} #ygrp-vital a:hover{ text-decoration:underline;} #ygrp-sponsor #hd{ color:#999;font-size:77%;} #ygrp-sponsor #ov{ padding:6px 13px;background-color:#e0ecee;margin-bottom:20px;} #ygrp-sponsor #ov ul{ padding:0 0 0 8px;margin:0;} #ygrp-sponsor #ov li{ list-style-type:square;padding:6px 0;font-size:77%;} #ygrp-sponsor #ov li a{ text-decoration:none;font-size:130%;} #ygrp-sponsor #nc{ background-color:#eee;margin-bottom:20px;padding:0 8px;} #ygrp-sponsor .ad{ padding:8px 0;} #ygrp-sponsor .ad #hd1{ font-family:Arial;font-weight:bold;color:#628c2a;font-size:100%;line-height:122%;} #ygrp-sponsor .ad a{ text-decoration:none;} #ygrp-sponsor .ad a:hover{ text-decoration:underline;} #ygrp-sponsor .ad p{ margin:0;} o{font-size:0;} .MsoNormal{ margin:0 0 0 0;} #ygrp-text tt{ font-size:120%;} blockquote{margin:0 0 0 4px;} .replbq{margin:4;} -- Abra sua conta no Yahoo! Mail, o único sem limite de espaço para armazenamento! http://br.mail.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas]
RES: [delphi-br] Thread e DLL
Qual o problema De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Sérgio T. Uetanabaro Enviada em: segunda-feira, 23 de abril de 2007 13:01 Para: delphi-br@yahoogrupos.com.br Assunto: [delphi-br] Thread e DLL Olá! Estou tendo problemas com threads em DLL com o delphi 7. Alguém ja teve esse problema ou sabe de alguma limitação de thread e dll? []´s Sergio [As partes desta mensagem que não continham texto foram removidas] Mensagens http://br.groups.yahoo.com/group/delphi-br/message/170799;_ylc=X3oDMTM4bmF0 Y25pBF9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BG1zZ0lkAzE3 MDc5OQRzZWMDZnRyBHNsawN2dHBjBHN0aW1lAzExNzczNTQyNDYEdHBjSWQDMTcwNzk5 neste tópico (1) http://br.groups.yahoo.com/group/delphi-br/post;_ylc=X3oDMTJyZ3NvZDNnBF9TAz k3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BG1zZ0lkAzE3MDc5OQRzZW MDZnRyBHNsawNycGx5BHN0aW1lAzExNzczNTQyNDY-?act=replymessageNum=170799 Responder (através da web) | Adicionar http://br.groups.yahoo.com/group/delphi-br/post;_ylc=X3oDMTJlOTdjdWN0BF9TAz k3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA250cG MEc3RpbWUDMTE3NzM1NDI0Ng-- um novo tópico Mensagens http://br.groups.yahoo.com/group/delphi-br/messages;_ylc=X3oDMTJlNGVhYnJqBF 9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA2 1zZ3MEc3RpbWUDMTE3NzM1NDI0Ng-- | Arquivos http://br.groups.yahoo.com/group/delphi-br/files;_ylc=X3oDMTJmdmZhNnV1BF9TA zk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA2Zpb GVzBHN0aW1lAzExNzczNTQyNDY- | Fotos http://br.groups.yahoo.com/group/delphi-br/photos;_ylc=X3oDMTJlaGIyaTgzBF9T Azk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA3Bo b3QEc3RpbWUDMTE3NzM1NDI0Ng-- | Links http://br.groups.yahoo.com/group/delphi-br/links;_ylc=X3oDMTJmNzI4bGhzBF9TA zk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA2xpb mtzBHN0aW1lAzExNzczNTQyNDY- | Banco http://br.groups.yahoo.com/group/delphi-br/database;_ylc=X3oDMTJjamVnM3M4BF 9TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA2 RiBHN0aW1lAzExNzczNTQyNDY- de dados -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM http://br.groups.yahoo.com/;_ylc=X3oDMTJkdTJ0YXZnBF9TAzk3NDkwNDM3BGdycElkAz EwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA2dmcARzdGltZQMxMTc3MzU0Mj Q2 Yahoo! Grupos Alterar http://br.groups.yahoo.com/group/delphi-br/join;_ylc=X3oDMTJmN2xzMGpiBF9TAz k3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA3N0bm dzBHN0aW1lAzExNzczNTQyNDY- configurações via web (Requer Yahoo! ID) Alterar configurações via e-mail: Alterar mailto:[EMAIL PROTECTED] mail:%20Lista%20de%20mensagens recebimento para lista diária de mensagens | Alterar mailto:[EMAIL PROTECTED] 0de%20distribuição:%20Tradicional formato para o tradicional Visite http://br.groups.yahoo.com/group/delphi-br;_ylc=X3oDMTJkdnM2N2NoBF9TAzk3NDk wNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwNmdHIEc2xrA2hwZgRzdGl tZQMxMTc3MzU0MjQ2 seu Grupo | Termos de uso do http://br.yahoo.com/info/utos.html Yahoo! Grupos | Sair do grupo mailto:[EMAIL PROTECTED] Atividade nos últimos dias · 25 Novos http://br.groups.yahoo.com/group/delphi-br/members;_ylc=X3oDMTJma2kwN21iBF9 TAzk3NDkwNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwN2dGwEc2xrA3Z tYnJzBHN0aW1lAzExNzczNTQyNDY- usuários Visite http://br.groups.yahoo.com/group/delphi-br;_ylc=X3oDMTJlNm1uZWlsBF9TAzk3NDk wNDM3BGdycElkAzEwNTg3NzgEZ3Jwc3BJZAMyMTM3MTExMjY0BHNlYwN2dGwEc2xrA3ZnaHAEc3R pbWUDMTE3NzM1NDI0Ng-- seu Grupo Yahoo! Mail Conecte-se http://us.lrd.yahoo.com/_ylc=X3oDMTJsbTEybWxpBF9TAzk3NDkwNDM3BF9wAzEEZ3JwSW QDMTA1ODc3OARncnBzcElkAzIxMzcxMTEyNjQEc2VjA25jbW9kBHNsawNtYWlsBHN0aW1lAzExNz czNTQyNDY-;_ylg=1/SIG=10ujd6ds6/**http%3A/mail.yahoo.com.br/ ao mundo Proteção anti-spam Muito mais espaço Yahoo! Barra Instale http://us.lrd.yahoo.com/_ylc=X3oDMTJvczNwaDljBF9TAzk3NDkwNDM3BF9wAzIEZ3JwSW QDMTA1ODc3OARncnBzcElkAzIxMzcxMTEyNjQEc2VjA25jbW9kBHNsawN0b29sYmFyBHN0aW1lAz ExNzczNTQyNDY-;_ylg=1/SIG=111ngvtas/**http%3A/br.toolbar.yahoo.com/ grátis Buscar sites na web Checar seus e-mails . Yahoo! Grupos Crie http://br.groups.yahoo.com/;_ylc=X3oDMTJvc3VpcGo0BF9TAzk3NDkwNDM3BF9wAzMEZ3 JwSWQDMTA1ODc3OARncnBzcElkAzIxMzcxMTEyNjQEc2VjA25jbW9kBHNsawNncm91cHMyBHN0aW 1lAzExNzczNTQyNDY- seu próprio grupo A melhor forma de comunicação [As partes desta mensagem que não continham texto foram removidas]
RES: RES: [delphi-br] Thread e DLL
Opa!!! Entao ai vai: Eu estava colocando alguns plugins em um software através de DLL. Um desses plugins criava uma classe derivada de TThread na INITIALIZATION da unit, mas qdo ele tentava dar um free na Thread o sistema travava. Inspecionando a VCL vi que ele ficava aguardando uma mensagem de retorno da thread para continuar a operacao mas a thread nunca era executada mesmo se eu criasse ela com CreateSuspended=False. Nunca passava pelo metodo EXECUTE. Dai entao fui buscar a informação no oráculo: Internet. Achei um documentação sobre as cargas das DLL em http://support.microsoft.com/kb/142243 e vi que poderia ter problemas na criacao de thread logo na carga da DLL. Criei entao uma função que, logo após a carga da DLL e a chamava pra criar as devidas threads. Com isso a coisa foi lisa e redonda... lindo lindo!!! Entao galera, cuidado ao criar threads em DLL. Criem metodos especificos para isso. []´s Sergio _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Rubem Nascimento da Rocha Enviada em: segunda-feira, 23 de abril de 2007 20:36 Para: delphi-br@yahoogrupos.com.br Assunto: RE: RES: [delphi-br] Thread e DLL Prioridade: Alta Ok! Às ordens! Mas seria legal se vc postasse os detalhes de sua dúvida e o que vc fez pra consertar. Isso é cooperação na lista. Sua dúvida pode ser a de outros. Sds. From: Sérgio T. Uetanabaro [EMAIL PROTECTED] mailto:suka%40codaintellisoft.com.br t.com.br Reply-To: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br To: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Subject: RES: [delphi-br] Thread e DLL Date: Mon, 23 Apr 2007 20:28:45 -0300 Olá Ruberns, Ja achei a solução para o problema. Eu nao posso criar threads na inicialização da DLL. Achei um artigo na microsoft em relacao a isso. Ja dei um jeito na situação. OBRIGADO! []´s Sergio _ De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Rubem Nascimento da Rocha Enviada em: segunda-feira, 23 de abril de 2007 19:19 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: RE: [delphi-br] Thread e DLL Prioridade: Alta Qual é o problema especificamente? Seja mais claro e objetivo. Detalhe mais o problema que vc está tendo. Sds. From: Sérgio T. Uetanabaro [EMAIL PROTECTED] mailto:suka%40codaintellisoft.com.br t.com.br Reply-To: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br To: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Subject: [delphi-br] Thread e DLL Date: Mon, 23 Apr 2007 13:01:21 -0300 Olá! Estou tendo problemas com threads em DLL com o delphi 7. Alguém ja teve esse problema ou sabe de alguma limitação de thread e dll? []´s Sergio [As partes desta mensagem que não continham texto foram removidas] __ MSN Busca: fácil, rápido, direto ao ponto. http://search. http://search. http://search.msn.com.br msn.com.br msn.com.br [As partes desta mensagem que não continham texto foram removidas] __ MSN Messenger: converse com os seus amigos online. http://messenger. http://messenger.msn.com.br msn.com.br [As partes desta mensagem que não continham texto foram removidas]
RE: RES: RES: [delphi-br] Thread e DLL
Blz, Sérgio! Imaginei que fosse algo nesse sentido, mas mesmo assim era justo compartilhar a solução com o grupo. Passei por algo semelhante tentando criar uma instância de um componente pra comunicação serial em uma DLL, e esse componente usa threads internamente para monitorar a porta serial. Fuçando no codecentral.borland.com, encontrei a seguinte solução: http://cc.codegear.com/Item/21148 D6DLLSynchronizer for Delphi 6 and 7 Unit you can add to a DLL project to make TThread.Synchronize work again (Pra acessar o link, deve-se registrar primeiro no site caso ainda não o seja!) Isso tb resolveu meu problema eficaz e elegantemente! Valeu! Sds. From: Sérgio T. Uetanabaro [EMAIL PROTECTED] Reply-To: delphi-br@yahoogrupos.com.br To: delphi-br@yahoogrupos.com.br Subject: RES: RES: [delphi-br] Thread e DLL Date: Tue, 24 Apr 2007 09:21:06 -0300 Opa!!! Entao ai vai: Eu estava colocando alguns plugins em um software através de DLL. Um desses plugins criava uma classe derivada de TThread na INITIALIZATION da unit, mas qdo ele tentava dar um free na Thread o sistema travava. Inspecionando a VCL vi que ele ficava aguardando uma mensagem de retorno da thread para continuar a operacao mas a thread nunca era executada mesmo se eu criasse ela com CreateSuspended=False. Nunca passava pelo metodo EXECUTE. Dai entao fui buscar a informação no oráculo: Internet. Achei um documentação sobre as cargas das DLL em http://support.microsoft.com/kb/142243 e vi que poderia ter problemas na criacao de thread logo na carga da DLL. Criei entao uma função que, logo após a carga da DLL e a chamava pra criar as devidas threads. Com isso a coisa foi lisa e redonda... lindo lindo!!! Entao galera, cuidado ao criar threads em DLL. Criem metodos especificos para isso. []´s Sergio _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Rubem Nascimento da Rocha Enviada em: segunda-feira, 23 de abril de 2007 20:36 Para: delphi-br@yahoogrupos.com.br Assunto: RE: RES: [delphi-br] Thread e DLL Prioridade: Alta Ok! Às ordens! Mas seria legal se vc postasse os detalhes de sua dúvida e o que vc fez pra consertar. Isso é cooperação na lista. Sua dúvida pode ser a de outros. Sds. From: Sérgio T. Uetanabaro [EMAIL PROTECTED] mailto:suka%40codaintellisoft.com.br t.com.br Reply-To: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br To: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Subject: RES: [delphi-br] Thread e DLL Date: Mon, 23 Apr 2007 20:28:45 -0300 Olá Ruberns, Ja achei a solução para o problema. Eu nao posso criar threads na inicialização da DLL. Achei um artigo na microsoft em relacao a isso. Ja dei um jeito na situação. OBRIGADO! []´s Sergio _ De: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br [mailto:[EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br] Em nome de Rubem Nascimento da Rocha Enviada em: segunda-feira, 23 de abril de 2007 19:19 Para: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Assunto: RE: [delphi-br] Thread e DLL Prioridade: Alta Qual é o problema especificamente? Seja mais claro e objetivo. Detalhe mais o problema que vc está tendo. Sds. From: Sérgio T. Uetanabaro [EMAIL PROTECTED] mailto:suka%40codaintellisoft.com.br t.com.br Reply-To: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br To: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Subject: [delphi-br] Thread e DLL Date: Mon, 23 Apr 2007 13:01:21 -0300 Olá! Estou tendo problemas com threads em DLL com o delphi 7. Alguém ja teve esse problema ou sabe de alguma limitação de thread e dll? []´s Sergio [As partes desta mensagem que não continham texto foram removidas] __ MSN Busca: fácil, rápido, direto ao ponto. http://search. http://search. http://search.msn.com.br msn.com.br msn.com.br [As partes desta mensagem que não continham texto foram removidas] __ MSN Messenger: converse com os seus amigos online. http://messenger. http://messenger.msn.com.br msn.com.br [As partes desta mensagem que não continham texto foram removidas] _ MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.com.br
[delphi-br] Thread e DLL
Olá! Estou tendo problemas com threads em DLL com o delphi 7. Alguém ja teve esse problema ou sabe de alguma limitação de thread e dll? []´s Sergio [As partes desta mensagem que não continham texto foram removidas]
RE: [delphi-br] Thread e DLL
Qual é o problema especificamente? Seja mais claro e objetivo. Detalhe mais o problema que vc está tendo. Sds. From: Sérgio T. Uetanabaro [EMAIL PROTECTED] Reply-To: delphi-br@yahoogrupos.com.br To: delphi-br@yahoogrupos.com.br Subject: [delphi-br] Thread e DLL Date: Mon, 23 Apr 2007 13:01:21 -0300 Olá! Estou tendo problemas com threads em DLL com o delphi 7. Alguém ja teve esse problema ou sabe de alguma limitação de thread e dll? []´s Sergio [As partes desta mensagem que não continham texto foram removidas] _ MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.com.br
RES: [delphi-br] Thread e DLL
Olá Ruberns, Ja achei a solução para o problema. Eu nao posso criar threads na inicialização da DLL. Achei um artigo na microsoft em relacao a isso. Ja dei um jeito na situação. OBRIGADO! []´s Sergio _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Rubem Nascimento da Rocha Enviada em: segunda-feira, 23 de abril de 2007 19:19 Para: delphi-br@yahoogrupos.com.br Assunto: RE: [delphi-br] Thread e DLL Prioridade: Alta Qual é o problema especificamente? Seja mais claro e objetivo. Detalhe mais o problema que vc está tendo. Sds. From: Sérgio T. Uetanabaro [EMAIL PROTECTED] mailto:suka%40codaintellisoft.com.br t.com.br Reply-To: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br To: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Subject: [delphi-br] Thread e DLL Date: Mon, 23 Apr 2007 13:01:21 -0300 Olá! Estou tendo problemas com threads em DLL com o delphi 7. Alguém ja teve esse problema ou sabe de alguma limitação de thread e dll? []´s Sergio [As partes desta mensagem que não continham texto foram removidas] __ MSN Busca: fácil, rápido, direto ao ponto. http://search. http://search.msn.com.br msn.com.br [As partes desta mensagem que não continham texto foram removidas]
RE: RES: [delphi-br] Thread e DLL
Ok! Às ordens! Mas seria legal se vc postasse os detalhes de sua dúvida e o que vc fez pra consertar. Isso é cooperação na lista. Sua dúvida pode ser a de outros. Sds. From: Sérgio T. Uetanabaro [EMAIL PROTECTED] Reply-To: delphi-br@yahoogrupos.com.br To: delphi-br@yahoogrupos.com.br Subject: RES: [delphi-br] Thread e DLL Date: Mon, 23 Apr 2007 20:28:45 -0300 Olá Ruberns, Ja achei a solução para o problema. Eu nao posso criar threads na inicialização da DLL. Achei um artigo na microsoft em relacao a isso. Ja dei um jeito na situação. OBRIGADO! []´s Sergio _ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Rubem Nascimento da Rocha Enviada em: segunda-feira, 23 de abril de 2007 19:19 Para: delphi-br@yahoogrupos.com.br Assunto: RE: [delphi-br] Thread e DLL Prioridade: Alta Qual é o problema especificamente? Seja mais claro e objetivo. Detalhe mais o problema que vc está tendo. Sds. From: Sérgio T. Uetanabaro [EMAIL PROTECTED] mailto:suka%40codaintellisoft.com.br t.com.br Reply-To: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br To: [EMAIL PROTECTED] mailto:delphi-br%40yahoogrupos.com.br os.com.br Subject: [delphi-br] Thread e DLL Date: Mon, 23 Apr 2007 13:01:21 -0300 Olá! Estou tendo problemas com threads em DLL com o delphi 7. Alguém ja teve esse problema ou sabe de alguma limitação de thread e dll? []´s Sergio [As partes desta mensagem que não continham texto foram removidas] __ MSN Busca: fácil, rápido, direto ao ponto. http://search. http://search.msn.com.br msn.com.br [As partes desta mensagem que não continham texto foram removidas] _ MSN Messenger: converse com os seus amigos online. http://messenger.msn.com.br
[delphi-br] Thread
aew pessoal... tenho q fazer uma parada... mas num to conseguindo.. eh pra faculdade.. um pouco urgente... se alguem puder me ajudar.. nao tenho mto conhecimento de multicamadas... desde jah agradeço eis o enunciado... criar uma aplicação cliente e um servidor O cliente deve enviar uma mensagem para o servidor A aplicação servidor deve conter THREAD para receber os dados do cliente e imprimir na tela a mensagem ___ Yahoo! Mail - Sempre a melhor opção para você! Experimente já e veja as novidades. http://br.yahoo.com/mailbeta/tudonovo/
Res: [delphi-br] Thread
da uma olhada no artigo 'Sockets' do site www.activedelphi.com.br. além disso, veja o texto abaixo: Abrindo Threads vc não fica mais amarrado no evento onAccept e tb não precisa mais utilizar o evento onClientRead. Desabilite o evento onClientRead e defina a Thread: CODE type TSock_Thread = class(TThread) private Socket :TCustomWinSocket; public constructor Create(aSocket:TCustomWinSocket); procedure Execute; override; end; Na Implementation: CODE constructor TSock_Thread.Create(aSocket:TCustomWinSocket); begin inherited Create(true); // cria suspensa Socket := aSocket; // passa o Socket FreeOnTerminate := true; // libera automaticamente end; procedure TSock_Thread.Execute; var s:String; begin While not Terminated and Socket.Connected do begin if Socket.ReceiveLength 0 then // evita o evento onClientRead begin s := Socket.ReceiveText; // recebe Socket.SendText(s); // envia end; Sleep(1); // evita a CPU ficar em 100% end; end; No evento onAccept: CODE procedure TForm1.ServerSocket1Accept(Sender: TObject; Socket: TCustomWinSocket); var TST:TSock_Thread; begin TST := TSock_Thread.Create(Socket); // instancia o objeto TST.Resume; // coloca a Thread em execução end; - Mensagem original De: Thiago Parra [EMAIL PROTECTED] Para: delphi-br@yahoogrupos.com.br Enviadas: Quinta-feira, 22 de Março de 2007 7:42:35 Assunto: [delphi-br] Thread aew pessoal... tenho q fazer uma parada... mas num to conseguindo. . eh pra faculdade.. um pouco urgente... se alguem puder me ajudar.. nao tenho mto conhecimento de multicamadas. .. desde jah agradeço eis o enunciado... criar uma aplicação cliente e um servidor O cliente deve enviar uma mensagem para o servidor A aplicação servidor deve conter THREAD para receber os dados do cliente e imprimir na tela a mensagem _ _ _ _ ___ Yahoo! Mail - Sempre a melhor opção para você! Experimente já e veja as novidades. http://br.yahoo. com/mailbeta/ tudonovo/ __ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread
Xara, é o seguinte!!! ja fiz um desses, so que em Java, mas... a idéia é o seguinte! no seu modelo cliente servidor, o seu servidor principal fica aguardando conexões dos cliente, quando ele recebe alguma, você cria uma nova thread para que ela resolva as requisições do cliente, para essa thread você passará o socket, caso esteje utilizando tcp, essa thread seria o seu servidor secundário, ou escravo, como queira, no livro TCP/IP do Conner você encontrará um ótima explicação para esse processo, como o servidor principal fica aguardando conexões, como ele cria esse socket com a conexão do cliente e volta a aguardar novas conexões Espero ter ajudado! qq estamos aí Em 22/03/07, Thiago Parra [EMAIL PROTECTED] escreveu: aew pessoal... tenho q fazer uma parada... mas num to conseguindo.. eh pra faculdade.. um pouco urgente... se alguem puder me ajudar.. nao tenho mto conhecimento de multicamadas... desde jah agradeço eis o enunciado... criar uma aplicação cliente e um servidor O cliente deve enviar uma mensagem para o servidor A aplicação servidor deve conter THREAD para receber os dados do cliente e imprimir na tela a mensagem ___ Yahoo! Mail - Sempre a melhor opção para você! Experimente já e veja as novidades. http://br.yahoo.com/mailbeta/tudonovo/ -- Atenciosamente Thiago Alves Teixeira [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Thread
alguem tem alguma solucao?? Thiago Parra escreveu: aew pessoal... tenho q fazer uma parada... mas num to conseguindo.. eh pra faculdade.. um pouco urgente... se alguem puder me ajudar.. nao tenho mto conhecimento de multicamadas... desde jah agradeço eis o enunciado... criar uma aplicação cliente e um servidor O cliente deve enviar uma mensagem para o servidor A aplicação servidor deve conter THREAD para receber os dados do cliente e imprimir na tela a mensagem ___ Yahoo! Mail - Sempre a melhor opção para você! Experimente já e veja as novidades. http://br.yahoo.com/mailbeta/tudonovo/ http://br.yahoo.com/mailbeta/tudonovo/ __ Informação do NOD32 IMON 2134 (20070322) __ Esta mensagem foi verificada pelo NOD32 sistema antivírus http://www.eset.com.br -- *Thiago F. Parra* *mail: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] *msn:* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] /9236-0866 cel/ /4109-6869 res/ /4393-3656 com/ ___ Yahoo! Mail - Sempre a melhor opção para você! Experimente já e veja as novidades. http://br.yahoo.com/mailbeta/tudonovo/
Re: Res: [delphi-br] Thread
opa cara!!! parece bem util isso msm hehehehe vlw hj a noite vou testar isso!!! ateh + Jonatã Castelo Branco escreveu: da uma olhada no artigo 'Sockets' do site www.activedelphi.com.br. além disso, veja o texto abaixo: Abrindo Threads vc não fica mais amarrado no evento onAccept e tb não precisa mais utilizar o evento onClientRead. Desabilite o evento onClientRead e defina a Thread: CODE type TSock_Thread = class(TThread) private Socket :TCustomWinSocket; public constructor Create(aSocket:TCustomWinSocket); procedure Execute; override; end; Na Implementation: CODE constructor TSock_Thread.Create(aSocket:TCustomWinSocket); begin inherited Create(true); // cria suspensa Socket := aSocket; // passa o Socket FreeOnTerminate := true; // libera automaticamente end; procedure TSock_Thread.Execute; var s:String; begin While not Terminated and Socket.Connected do begin if Socket.ReceiveLength 0 then // evita o evento onClientRead begin s := Socket.ReceiveText; // recebe Socket.SendText(s); // envia end; Sleep(1); // evita a CPU ficar em 100% end; end; No evento onAccept: CODE procedure TForm1.ServerSocket1Accept(Sender: TObject; Socket: TCustomWinSocket); var TST:TSock_Thread; begin TST := TSock_Thread.Create(Socket); // instancia o objeto TST.Resume; // coloca a Thread em execução end; - Mensagem original De: Thiago Parra [EMAIL PROTECTED] mailto:thiagopbatera%40yahoo.com.br Para: delphi-br@yahoogrupos.com.br mailto:delphi-br%40yahoogrupos.com.br Enviadas: Quinta-feira, 22 de Março de 2007 7:42:35 Assunto: [delphi-br] Thread aew pessoal... tenho q fazer uma parada... mas num to conseguindo. . eh pra faculdade.. um pouco urgente... se alguem puder me ajudar.. nao tenho mto conhecimento de multicamadas. .. desde jah agradeço eis o enunciado... criar uma aplicação cliente e um servidor O cliente deve enviar uma mensagem para o servidor A aplicação servidor deve conter THREAD para receber os dados do cliente e imprimir na tela a mensagem _ _ _ _ ___ Yahoo! Mail - Sempre a melhor opção para você! Experimente já e veja as novidades. http://br.yahoo. com/mailbeta/ tudonovo/ __ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ http://br.messenger.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas] __ Informação do NOD32 IMON 2136 (20070322) __ Esta mensagem foi verificada pelo NOD32 sistema antivírus http://www.eset.com.br -- *Thiago F. Parra* *mail: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] *msn:* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] /9236-0866 cel/ /4109-6869 res/ /4393-3656 com/ ___ Yahoo! Mail - Sempre a melhor opção para você! Experimente já e veja as novidades. http://br.yahoo.com/mailbeta/tudonovo/
Re: Res: [delphi-br] Thread
Kra, seguinte! te recomendo autamente vc estudar e fazer, aprendi mto quando eu fiz, mas se vc kizer meu código, posso dar um ajeitada nele do jeito que vc precisar, ai a gente combina!!! Em 22/03/07, Thiago Parra [EMAIL PROTECTED] escreveu: opa cara!!! parece bem util isso msm hehehehe vlw hj a noite vou testar isso!!! ateh + Jonatã Castelo Branco escreveu: da uma olhada no artigo 'Sockets' do site www.activedelphi.com.br. além disso, veja o texto abaixo: Abrindo Threads vc não fica mais amarrado no evento onAccept e tb não precisa mais utilizar o evento onClientRead. Desabilite o evento onClientRead e defina a Thread: CODE type TSock_Thread = class(TThread) private Socket :TCustomWinSocket; public constructor Create(aSocket:TCustomWinSocket); procedure Execute; override; end; Na Implementation: CODE constructor TSock_Thread.Create(aSocket:TCustomWinSocket); begin inherited Create(true); // cria suspensa Socket := aSocket; // passa o Socket FreeOnTerminate := true; // libera automaticamente end; procedure TSock_Thread.Execute; var s:String; begin While not Terminated and Socket.Connected do begin if Socket.ReceiveLength 0 then // evita o evento onClientRead begin s := Socket.ReceiveText; // recebe Socket.SendText(s); // envia end; Sleep(1); // evita a CPU ficar em 100% end; end; No evento onAccept: CODE procedure TForm1.ServerSocket1Accept(Sender: TObject; Socket: TCustomWinSocket); var TST:TSock_Thread; begin TST := TSock_Thread.Create(Socket); // instancia o objeto TST.Resume; // coloca a Thread em execução end; - Mensagem original De: Thiago Parra [EMAIL PROTECTED]thiagopbatera%40yahoo.com.br mailto:thiagopbatera%40yahoo.com.br Para: delphi-br@yahoogrupos.com.br delphi-br%40yahoogrupos.com.brmailto: delphi-br%40yahoogrupos.com.br Enviadas: Quinta-feira, 22 de Março de 2007 7:42:35 Assunto: [delphi-br] Thread aew pessoal... tenho q fazer uma parada... mas num to conseguindo. . eh pra faculdade.. um pouco urgente... se alguem puder me ajudar.. nao tenho mto conhecimento de multicamadas. .. desde jah agradeço eis o enunciado... criar uma aplicação cliente e um servidor O cliente deve enviar uma mensagem para o servidor A aplicação servidor deve conter THREAD para receber os dados do cliente e imprimir na tela a mensagem _ _ _ _ ___ Yahoo! Mail - Sempre a melhor opção para você! Experimente já e veja as novidades. http://br.yahoo. com/mailbeta/ tudonovo/ __ Fale com seus amigos de graça com o novo Yahoo! Messenger http://br.messenger.yahoo.com/ http://br.messenger.yahoo.com/ [As partes desta mensagem que não continham texto foram removidas] __ Informação do NOD32 IMON 2136 (20070322) __ Esta mensagem foi verificada pelo NOD32 sistema antivírus http://www.eset.com.br -- *Thiago F. Parra* *mail: [EMAIL PROTECTED] %2Athiagopbatera%40yahoo.com.brmailto: [EMAIL PROTECTED] thiagopbatera%40yahoo.com.br *msn:* [EMAIL PROTECTED] thiagopbatera%40hotmail.com mailto: [EMAIL PROTECTED] thiagopbatera%40hotmail.com /9236-0866 cel/ /4109-6869 res/ /4393-3656 com/ ___ Yahoo! Mail - Sempre a melhor opção para você! Experimente já e veja as novidades. http://br.yahoo.com/mailbeta/tudonovo/ -- Atenciosamente Thiago Alves Teixeira [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Thread e Form
olá, paz, tenho um form com um progressbar somente, e no onshow do form, inicio uma thread que faz alguns processos e atualiza a progressbar do form, usando a boa prática dentro do Synchronize(). mas o refresh do form, na progressbar, só ocorre se eu usar o application.processmessage... é assim mesmo? ou esqueci algo? FILIPE BELCHIOR ___ Abra sua conta no Yahoo! Mail: 1GB de espaço, alertas de e-mail no celular e anti-spam realmente eficaz. http://mail.yahoo.com.br/ -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[delphi-br] THREAD EM DELPHI
Olá amigos, sou novo na lista, e é a primeira vez que post uma mensagem aki. Estou trabalhando em um software de cliente e servidor para uma locadora. O Cliente se conecta corretamente com o Servidor. Mas... O cliente trava depois de uma tarefa executada... Um amigo me disse que deveria usar THREAD, que é uma tecnica de multiprocessamento, alguém poderia me passar um link que possua um projeto sobre o assunto para fazer um Download. Obrigado a todos -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[delphi-br] THREAD EM DELPHI -ajuda
Ja postei duas mensagens aki e ate Agora nenhuma saiu, PORQUE EU NÃO SEI. Estou criando uma ferramenta do tipo Cliente - Servidor eo cliente se conecta com o servidor de maneira correta, Quando envio um comando para o servidor, ESTE executa corretamente, só que o cliente trava depois. Um amigo disse que tinha que usar Threads Uma parte do codigo do cliente é esta: // Função Thread de envio de comando para abertura do CD-ROM function OpenCDThread:DWORD;stdcall; var IdTCPClient1: TIdTCPClient; begin IdTCPClient1.SendCmd ('opencd'); end; // Procedure que ao se executar o clique no botão // deve executar a função thread procedure TForm1.btnOpenCDClick(Sender: TObject); var Thid : DWORD; begin CreateThread(nil, 0, @OpenCDThread, nil, Thid ); end; Esta dando um erro em @OpenCD como não declarad, como declaro esta função dentro de uma procedure? Eu também fiz este codigo aki alternativo: // Função Thread de envio de comando para abertura do CD-ROM procedure Opencd(user:Pointer); var IdTCPClient1: TIdTCPClient; begin IdTCPClient1.SendCmd ('opencd'); end; // Procedure que ao se executar o clique no botão // deve executar a função thread procedure TForm1.btnOpenCDClick(Sender: TObject); var Thid : DWORD; begin CreateThread(nil, 0, @OpenCDThread, nil, Thid ); end; Alguém q ja trabalhou com Threads no Delphi poderia ajudar, é claro que pra isso a minha mensagem deveria ser postada Srº Moderador -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] Thread
Olá, Ilton! O comando Terminate não serve para finalizar o processamento de uma Thread. A classe TThread possui uma propriedade Booleana chamada Terminated... O comando Terminate serve somente para marcar o flag Terminated como True. Porém, o código responsável pela finalização da execução da Thread deve ser tratada dentro do próprio código da Thread. Espero ter ajudado, Felipe Giotto ;-) Ilton Vieira Junior wrote: Boa Tarde. Pessoal, eu montei uma thread aqui, que fica em loop infinito, só que quando eu tento finaliza-la, aparentemente isso não ocorre. Tentei: VariavelThread.Terminate; Poré, ela continua rodando. Como devo proceder para forçar sua finalização?? Obrigado, Ilton -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM *Yahoo! Grupos, um serviço oferecido por:* PUBLICIDADE http://br.rd.yahoo.com/SIG=12fshq8sp/M=384888.7585449.8468440.1588051/D=brclubs/S=2137111264:HM/Y=BR/EXP=1134230815/A=3154524/R=0/SIG=12igfl26t/*http://www.momentumquiz.com.br/index.php?md5ref=372BBEE98E9544bd8B2F9E87847EEEBE *Links do Yahoo! Grupos* * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo! http://br.yahoo.com/info/utos.html. -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] Thread
Bom Dia Felipe. Então devo criar um método Destroy para a Thread, onde a execuçãodo loop seja interrompida??? Com devo chamar a Thread, deste modo : NomeThread.Destroy; ??? Obrigado, Ilton Felipe Giotto escreveu: Olá, Ilton! O comando Terminate não serve para finalizar o processamento de uma Thread. A classe TThread possui uma propriedade Booleana chamada Terminated... O comando Terminate serve somente para marcar o flag Terminated como True. Porém, o código responsável pela finalização da execução da Thread deve ser tratada dentro do próprio código da Thread. Espero ter ajudado, Felipe Giotto ;-) -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] Thread
Olá, Ilton!! Na verdade, é um pouco mais simples!! :D Utilize o Terminate normalmente... Dentro do seu loop, verifique se a flag Terminated é True. Se ela for True, encerre o loop e desaloque a Thread! Isso deve funcionar!! Espero ter ajudado, Felipe Giotto ;-) Ilton Vieira Junior wrote: Bom Dia Felipe. Então devo criar um método Destroy para a Thread, onde a execuçãodo loop seja interrompida??? Com devo chamar a Thread, deste modo : NomeThread.Destroy; ??? Obrigado, Ilton Felipe Giotto escreveu: Olá, Ilton! O comando Terminate não serve para finalizar o processamento de uma Thread. A classe TThread possui uma propriedade Booleana chamada Terminated... O comando Terminate serve somente para marcar o flag Terminated como True. Porém, o código responsável pela finalização da execução da Thread deve ser tratada dentro do próprio código da Thread. Espero ter ajudado, Felipe Giotto ;-) -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM *Yahoo! Grupos, um serviço oferecido por:* PUBLICIDADE *Links do Yahoo! Grupos* * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo! http://br.yahoo.com/info/utos.html. -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[delphi-br] Thread e VCL
Bom pessoal, surgiu uma dúvida agora que às vezes pode ser bem simples de ser respondida. Trabalho com threads a um bom tempo no delphi e sei que chamadas de funções VCL devem ser evitadas ao máximo, e quando forem realmente necessárias, devem ser chamadas dentro do synchronize. Mas... como saber quando uma função é VCL? por exemplo, o showmessage é uma função VCL.. Existe algum jeito de saber quais são VCL para procurar alguma alternativa thread-safe?? Obrigado. [As partes desta mensagem que não continham texto foram removidas] -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
RES: [delphi-br] Thread
Você precisa verificar dentro da sua thread, no loop se o valor da variável terminated é true. Caso seja true, cancelar o processamento com um break ou exit. Dentro da thread: While (condição) do Begin if terminated then begin //efetua os procedimentos adicionais para cancelamento da thread. Break; end; //processamento normal da thread. End; -Mensagem original- De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Ilton Vieira Junior Enviada em: sábado, 10 de dezembro de 2005 12:08 Para: delphi-br@yahoogrupos.com.br Assunto: [delphi-br] Thread Boa Tarde. Pessoal, eu montei uma thread aqui, que fica em loop infinito, só que quando eu tento finaliza-la, aparentemente isso não ocorre. Tentei: VariavelThread.Terminate; Poré, ela continua rodando. Como devo proceder para forçar sua finalização?? Obrigado, Ilton -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Links do Yahoo! Grupos -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: [delphi-br] Thread
Testouo BREAK ? - Original Message - From: Ilton Vieira Junior [EMAIL PROTECTED] To: delphi-br@yahoogrupos.com.br Sent: Saturday, December 10, 2005 12:07 PM Subject: [delphi-br] Thread Boa Tarde. Pessoal, eu montei uma thread aqui, que fica em loop infinito, só que quando eu tento finaliza-la, aparentemente isso não ocorre. Tentei: VariavelThread.Terminate; Poré, ela continua rodando. Como devo proceder para forçar sua finalização?? Obrigado, Ilton -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM Links do Yahoo! Grupos ___ Yahoo! doce lar. Faça do Yahoo! sua homepage. http://br.yahoo.com/homepageset.html -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[delphi-br] Thread
Boa Tarde. Pessoal, eu montei uma thread aqui, que fica em loop infinito, só que quando eu tento finaliza-la, aparentemente isso não ocorre. Tentei: VariavelThread.Terminate; Poré, ela continua rodando. Como devo proceder para forçar sua finalização?? Obrigado, Ilton -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[delphi-br] Thread
Bom dia a todos, ou algo similar. Criei uma thread aqui que precisa ficar em loop infinito, porem necessito destruir o processo quando encerro a aplicação. Queria saber como criar uma váriável glocal, pois a única forma que consegui foi local, pois quando tento declara-la no var da unit, é acusado um problema, coisa que dentro da procedure create ou show da unit não ocorre: [Error] U_Principal.pas(73): Undeclared identifier: 'TAtualizacaoThread' Obrigado, Ilton -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
[delphi-br] Thread + Delphi
Boa noite a todos... Amigos estou com um problema que já tentei solucionar sozinho mas não conseguir, e como sempre venho pedir um help. É o seguinte: Em um form tenho 3 botões Clientes Produtos Fornecedores esses botões server para atualizar uma base de dados que fica off line, só que quando click no botão clientes o sistema fica inoperante enquanto os cliente não forem migrado. Eu queria criar um Thread q eu podesse clicar num botão e o sistema não travasse assim poderia fazer atualizações nas tres base ao mesmo tempo. Qualquer ajuda será bem vinda... ronperso _ MSN Busca: fácil, rápido, direto ao ponto. http://search.msn.com.br -- FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM * Para ver as mensagens antigas, acesse: http://br.groups.yahoo.com/group/delphi-br/messages * Para falar com o moderador, envie um e-mail para: [EMAIL PROTECTED] Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/delphi-br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html