[delphi-br] Threads e MySql
Pessoal estou usando o Delphi 7 e gostaria de criar algumas threads onde cada uma faz uma consulta diferente ao MySql. Estou tendo problemas com a conexão com o banco. Parece que quando uma fecha a conexão com o banco acaba por fechar e conexão que a outra conexão está usando. Mas como faço para cada thread ter a sua própria conexão com o MySql e a própria transaction, é claro? Valeu. Jonatã.
Re: [delphi-br] Threads e MySql
Eu criaria as instâncias dessas classes dentro do Excute da Thread: var conexao: TConnection; ... begin conexao := TConnection.Create(nil); ... while not (Self.Terminated) do begin end; end; [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Threads.
Olá pessoal, Consigo através de uma thread, definí-la como pai, e herdar várias subthreads filhas? Grato pela atenção, Domingos Neto Programador Jr. [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Threads
Delphi da suporte a tarefas muti-threads ? Onde consigo material sobre o assunto? Flickr agora em português. Você clica, todo mundo vê. http://www.flickr.com.br/ [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Threads
Pesquise na página da lista, e no google, sobre a classe TThread. [As partes desta mensagem que não continham texto foram removidas]
Re: [delphi-br] Threads
Sim, e de muitas maneiras! Recomendo a leitura do livro Delphi - Guia Essencial. Comprei por apenas R$ 25,00 na Livros Técnicos Vitória e foi uma das melhores aquisições que já fiz... Há um capitulo inteiro dedicado a programação concorrente (multi-threading), com diversas formas de aplicação: classe TThread, classe TFuture, Mutexes, etc. Abraço. Atenciosamente: Eduardo Cláudio Nicácio Analista de Sistemas Pleno Fábrica 02 - CTIS Tel.: (11) 3150-6841 [EMAIL PROTECTED] - Original Message - From: Evaldo To: delphi-br@yahoogrupos.com.br Sent: Friday, August 24, 2007 9:59 AM Subject: [delphi-br] Threads Delphi da suporte a tarefas muti-threads ? Onde consigo material sobre o assunto? Flickr agora em português. Você clica, todo mundo vê. http://www.flickr.com.br/ [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] Threads
Vou procurar, Obrigado . - Mensagem original De: Edu Nicácio [EMAIL PROTECTED] Para: delphi-br@yahoogrupos.com.br Enviadas: Sexta-feira, 24 de Agosto de 2007 11:27:03 Assunto: Re: [delphi-br] Threads Sim, e de muitas maneiras! Recomendo a leitura do livro Delphi - Guia Essencial. Comprei por apenas R$ 25,00 na Livros Técnicos Vitória e foi uma das melhores aquisições que já fiz... Há um capitulo inteiro dedicado a programação concorrente (multi-threading) , com diversas formas de aplicação: classe TThread, classe TFuture, Mutexes, etc. Abraço. - - - - - - Atenciosamente: Eduardo Cláudio Nicácio Analista de Sistemas Pleno Fábrica 02 - CTIS Tel.: (11) 3150-6841 eduardo.nicacio@ ctis.com. br - Original Message - From: Evaldo To: [EMAIL PROTECTED] os.com.br Sent: Friday, August 24, 2007 9:59 AM Subject: [delphi-br] Threads Delphi da suporte a tarefas muti-threads ? Onde consigo material sobre o assunto? Flickr agora em português. Você clica, todo mundo vê. http://www.flickr. com.br/ [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas] !-- #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;} -- Flickr agora em português. Você clica, todo mundo vê. http://www.flickr.com.br/ [As partes desta mensagem que não continham texto foram removidas]
[delphi-br] Threads x TidTelnet
Boa Tarde, Tenho uma aplicação que possui uma thread única que instancia um TidTelnet uma única vez, abre a conexão e fica processando comandos e obtendo respostas de um servidor remoto. Na verdade, o grande problema está no TidTelnet, que aumenta o percentual de processamento para 50%/55% em média. Se a aplicação rodasse em um cliente simples eu acho que não teria problemas, mas acontece que os clientes estão logados em um servidor Win2003Server. Alguém tem alguma dica para que eu melhore a performance geral do sistema? Pelo AQTime, o tempo de processamento fica dividido entre o WaitMessage e o TIdStackWindows::WSSelect, sendo que o WaitMessage faz parte da thread da aplicação e o TIdStackWindows da thread de monitoramento em questão. Obrigado, Andre Mesquita P.S.: Se ALLguém souber de outro componente para telnet (free/open) thread-safe, também ajudaria nos testes. -- 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] Threads
Aee pessoal de plantão, to precisando usar Threads no Delphi... o que tá acontecendo é o seguinte... na aba Samples dp Delphi tem um componente que se chama ShellChangeNotifier, com ele é possível monitorar alterações em arquivos do diretório configurado na propriedade Root do objeto. Bom, eu tenho uma lista de diretórios que eu preciso monitorar(isso é um cadastro, intão a qtd de diretórios pode variar), como essa quantidade de diretórios é variável eu preciso criar em run-time... tipo assim, fazer um loop até o fim da tabela e ir criando vários ShellChangerNotifier pra cada registro. até ai susu, eu consigo criar tranquilamente, crio tantos objetos ShellChangerNotifier quanto precisar. o problema é que eu também preciso identificar em qual diretório houve a alteração do arquivo, pra isso eu precisaria criar no evento 'onChange' de cada objeto um função que me retornasse em qual diretório houve alteração. ai eu pensei, bom, é so acessar o evento onChange de cada objeto que eu estiver criando em run-time e assossiar uma procedure ou function,maravilha acho que é por ai mesmo. só que o feladaputa pede que a function retorne um tipo TThreadMethod, eu até criei uma function com esse retorno(como vc´s podem ver no código abaixo só que ele só executa uma vez depois não faz mais nada) segue o código abaixo... unit ShellChangeNotify; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, ComCtrls, ImgList, ShellCtrls, Mask, DBCtrls, DB, ADODB, Func,ThreadShellChangeNotify,Buttons, Menus, ToolWin; type TShell = class of TShellChangeNotifier; function CreateControl(ControlClass: TShell; const Machine,PathRoot: string): TShellChangeNotifier; function PushTheButton(ControlClass: TShellChangeNotifier):TThreadMethod; {Private Declarations} implementation uses fEditor, fReadablesFiles, fUnreadablesFiles, DbConfigure,fDatabase; function CreateControl(ControlClass: TShell; const Machine,PathRoot: string): TShellChangeNotifier; begin Result := ControlClass.Create(Database); with Result do begin //nomeando objeto Name := 'Shell' + Machine; //Atribuindo caminho Root := PathRoot; //Ativação dos Filtros NotifyFilters:=[ nfFileNameChange, nfDirNameChange, nfAttributeChange, nfSizeChange, nfWriteChange, nfSecurityChange ]; WatchSubTree:=false; //definindo ação padrão para todos os objetos criados Result.OnChange:=PushTheButton(Result); end; end; function PushTheButton(ControlClass: TShellChangeNotifier):TThreadMethod; begin ShowMessage('Nome Controle :' + ControlClass.Name); ShowMessage('Alteração em :' + ControlClass.Root); end; end. Anderson Rio Claro-SP [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] ou [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] Threads
Pessoal, alguém poderia me mandar um exemplo de como usar Threads, no meu sistema tenho um envio de e-mails em massa, só que o programa fica travado enquanto esse processamento não acaba, e eu gostaria que o usuário pudesse ir usando outras telas do sistema. Me deram a dica de que para isso eu teria que usar criar uma Thread, mas nunca mexi com isso. Agradeço a ajuda de todos. Marcello. -- 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] ou [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] Threads e sockets
Olá pessoal, Alguém tem algum exemplo que use threads e sockets? Algo do tipo: server que dispara uma thread para tratar a conexão (socket) de um client, a thread criada receberia uma varável da conexão. Só pra não reinventar a roda. A lógica tá pronta... Se puderem, mandem para [EMAIL PROTECTED] Obrigado. Daniel Sonda -- 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] ou [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] Threads manipulando arquivos
Olá pessoal, Estou desenvolvendo um programa que faz a manipulação de alguns arquivos no disco dentro de uma thread. O programa possui várias threads, mas é apenas uma que faz a manipulação com os arquivos no disco, ela abre um arquivo JPG, converte para BMP e grava este bmp no disco. Logo em seguida, abre outro arquivo JPG, faz o mesmo procedimento e grava o BMP no disco com o mesmo nome do gravado anteriormente, sobrescrevendo. Em alguns casos, esse procedimento dá um erro dizendo que não existem recursos disponíveis para continuar, mas existe bastante espaço em disco e memória. Gostaria de saber se existe algum problema em executar procedimentos assim de I/O dentro de uma thread, se existe algum procedimento especial de sincronização etc. Fiz alguns testes aqui e quando coloco estes procedimentos fora da thread, no programa principal, o erro não ocorre. Se alguém tiver algum material a respeito ou puder me dar algumas dicas, ficarei agradecido. 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] ou [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] Threads manipulando arquivos
vc está usando o Synchronize? - Original Message - From: Delphi [EMAIL PROTECTED] To: delphi-br delphi-br@yahoogrupos.com.br Sent: Monday, May 23, 2005 3:51 PM Subject: [delphi-br] Threads manipulando arquivos Olá pessoal, Estou desenvolvendo um programa que faz a manipulação de alguns arquivos no disco dentro de uma thread. O programa possui várias threads, mas é apenas uma que faz a manipulação com os arquivos no disco, ela abre um arquivo JPG, converte para BMP e grava este bmp no disco. Logo em seguida, abre outro arquivo JPG, faz o mesmo procedimento e grava o BMP no disco com o mesmo nome do gravado anteriormente, sobrescrevendo. Em alguns casos, esse procedimento dá um erro dizendo que não existem recursos disponíveis para continuar, mas existe bastante espaço em disco e memória. Gostaria de saber se existe algum problema em executar procedimentos assim de I/O dentro de uma thread, se existe algum procedimento especial de sincronização etc. Fiz alguns testes aqui e quando coloco estes procedimentos fora da thread, no programa principal, o erro não ocorre. Se alguém tiver algum material a respeito ou puder me dar algumas dicas, ficarei agradecido. 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] ou [EMAIL PROTECTED] 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] ou [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] Threads manipulando arquivos
Não estou... estou simplesmente chamando o BMP.savetofile('arquivo'). Não coloquei o synchronize pois só essa thread que manipula o arquivo. Será que mesmo assim tenho que mandar sincronizar? É que eu não queria fazer isso pois se a interface do programa está parada aguardando alguma coisa, a minha thread tb ficará aguardando... atrasando o processamento. Obrigado. -Mensagem original- De: Filipe [mailto:[EMAIL PROTECTED] Enviada em: segunda-feira, 23 de maio de 2005 16:42 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Threads manipulando arquivos vc está usando o Synchronize? - Original Message - From: Delphi [EMAIL PROTECTED] To: delphi-br delphi-br@yahoogrupos.com.br Sent: Monday, May 23, 2005 3:51 PM Subject: [delphi-br] Threads manipulando arquivos Olá pessoal, Estou desenvolvendo um programa que faz a manipulação de alguns arquivos no disco dentro de uma thread. O programa possui várias threads, mas é apenas uma que faz a manipulação com os arquivos no disco, ela abre um arquivo JPG, converte para BMP e grava este bmp no disco. Logo em seguida, abre outro arquivo JPG, faz o mesmo procedimento e grava o BMP no disco com o mesmo nome do gravado anteriormente, sobrescrevendo. Em alguns casos, esse procedimento dá um erro dizendo que não existem recursos disponíveis para continuar, mas existe bastante espaço em disco e memória. Gostaria de saber se existe algum problema em executar procedimentos assim de I/O dentro de uma thread, se existe algum procedimento especial de sincronização etc. Fiz alguns testes aqui e quando coloco estes procedimentos fora da thread, no programa principal, o erro não ocorre. Se alguém tiver algum material a respeito ou puder me dar algumas dicas, ficarei agradecido. 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] ou [EMAIL PROTECTED] 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] ou [EMAIL PROTECTED] Links do Yahoo! Grupos [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] ou [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] Threads manipulando arquivos
bom, que eu saiba SEMPRE se deve usar o Synchronize... - Original Message - From: Delphi [EMAIL PROTECTED] To: delphi-br delphi-br@yahoogrupos.com.br Sent: Monday, May 23, 2005 4:53 PM Subject: RES: [delphi-br] Threads manipulando arquivos Não estou... estou simplesmente chamando o BMP.savetofile('arquivo'). Não coloquei o synchronize pois só essa thread que manipula o arquivo. Será que mesmo assim tenho que mandar sincronizar? É que eu não queria fazer isso pois se a interface do programa está parada aguardando alguma coisa, a minha thread tb ficará aguardando... atrasando o processamento. Obrigado. -Mensagem original- De: Filipe [mailto:[EMAIL PROTECTED] Enviada em: segunda-feira, 23 de maio de 2005 16:42 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Threads manipulando arquivos vc está usando o Synchronize? - Original Message - From: Delphi [EMAIL PROTECTED] To: delphi-br delphi-br@yahoogrupos.com.br Sent: Monday, May 23, 2005 3:51 PM Subject: [delphi-br] Threads manipulando arquivos Olá pessoal, Estou desenvolvendo um programa que faz a manipulação de alguns arquivos no disco dentro de uma thread. O programa possui várias threads, mas é apenas uma que faz a manipulação com os arquivos no disco, ela abre um arquivo JPG, converte para BMP e grava este bmp no disco. Logo em seguida, abre outro arquivo JPG, faz o mesmo procedimento e grava o BMP no disco com o mesmo nome do gravado anteriormente, sobrescrevendo. Em alguns casos, esse procedimento dá um erro dizendo que não existem recursos disponíveis para continuar, mas existe bastante espaço em disco e memória. Gostaria de saber se existe algum problema em executar procedimentos assim de I/O dentro de uma thread, se existe algum procedimento especial de sincronização etc. Fiz alguns testes aqui e quando coloco estes procedimentos fora da thread, no programa principal, o erro não ocorre. Se alguém tiver algum material a respeito ou puder me dar algumas dicas, ficarei agradecido. 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] ou [EMAIL PROTECTED] 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] ou [EMAIL PROTECTED] Links do Yahoo! Grupos [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] ou [EMAIL PROTECTED] 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] ou [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] Threads manipulando arquivos
O Synchronize deve ser utilizado *apenas* para chamar operações que são inerentemente não seguras, ou seja, não são thread-safe. Por exemplo, chamar coisas relacionadas com a UI do Windows, na esmagadora maioria das vezes, é unsafe. Se cada arquivo é manipulado por uma thread diferente e os objetos BMP são criados em suas próprias threads então, em teoria, a operação deve ser thread-safe. No entanto, se a classe TBitmap utilizar algum recurso compartilhado de forma não segura no arquivo onde está implementado (sem seção crítica, semáforo ou mutex, por exemplo), então volta o problema e nada disso está garantido. Cabe ao programador saber se o código que ele está invocando é seguro ou não do ponto de vista das threads. Cordialmente, Demian Lessa Salvador - Brasil Filipe wrote: bom, que eu saiba SEMPRE se deve usar o Synchronize... - Original Message - From: Delphi [EMAIL PROTECTED] To: delphi-br delphi-br@yahoogrupos.com.br Sent: Monday, May 23, 2005 4:53 PM Subject: RES: [delphi-br] Threads manipulando arquivos Não estou... estou simplesmente chamando o BMP.savetofile('arquivo'). Não coloquei o synchronize pois só essa thread que manipula o arquivo. Será que mesmo assim tenho que mandar sincronizar? É que eu não queria fazer isso pois se a interface do programa está parada aguardando alguma coisa, a minha thread tb ficará aguardando... atrasando o processamento. Obrigado. -Mensagem original- De: Filipe [mailto:[EMAIL PROTECTED] Enviada em: segunda-feira, 23 de maio de 2005 16:42 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Threads manipulando arquivos vc está usando o Synchronize? - Original Message - From: Delphi [EMAIL PROTECTED] To: delphi-br delphi-br@yahoogrupos.com.br Sent: Monday, May 23, 2005 3:51 PM Subject: [delphi-br] Threads manipulando arquivos Olá pessoal, Estou desenvolvendo um programa que faz a manipulação de alguns arquivos no disco dentro de uma thread. O programa possui várias threads, mas é apenas uma que faz a manipulação com os arquivos no disco, ela abre um arquivo JPG, converte para BMP e grava este bmp no disco. Logo em seguida, abre outro arquivo JPG, faz o mesmo procedimento e grava o BMP no disco com o mesmo nome do gravado anteriormente, sobrescrevendo. Em alguns casos, esse procedimento dá um erro dizendo que não existem recursos disponíveis para continuar, mas existe bastante espaço em disco e memória. Gostaria de saber se existe algum problema em executar procedimentos assim de I/O dentro de uma thread, se existe algum procedimento especial de sincronização etc. Fiz alguns testes aqui e quando coloco estes procedimentos fora da thread, no programa principal, o erro não ocorre. Se alguém tiver algum material a respeito ou puder me dar algumas dicas, ficarei agradecido. Obrigado. -- 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] ou [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] Threads com BDE
Preciso criar uma classe descendente de TThread para executar simultaneamente uma mesma stored procedure no banco de dados. Ja fiz algo semelhante usando dbexpress, porem agora tenho que fazer usando BDE. Dúvida : Como o BDE trabalha com threads ? Sei que devo usar a classe TSession mas não entendi como. Quais componentes preciso instanciar para executar a SP ? Preciso de um tdatabase para cada thread ? Obrigado, Leonardo Luiz -- 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] ou [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