[delphi-br] Threads e MySql

2010-05-12 Por tôpico Jonata
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

2010-05-12 Por tôpico Mário Guedes
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.

2008-02-07 Por tôpico Domingos Neto
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

2007-08-24 Por tôpico Evaldo
  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

2007-08-24 Por tôpico José Mário Silva Guedes
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

2007-08-24 Por tôpico Edu Nicácio
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

2007-08-24 Por tôpico Evaldo
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

2006-09-15 Por tôpico Andre Mesquita
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

2005-09-12 Por tôpico Anderson
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

2005-06-13 Por tôpico marcelloassouza
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

2005-06-03 Por tôpico Daniel Sonda
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

2005-05-23 Por tôpico Delphi
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

2005-05-23 Por tôpico Filipe
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

2005-05-23 Por tôpico Delphi
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

2005-05-23 Por tôpico Filipe
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

2005-05-23 Por tôpico Demian Lessa
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

2004-11-19 Por tôpico Leonardo Luiz

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