Desculpa....  expliquei mal...

Você deve declarar num local público (ex. DataModule, Form, etc) e não no
Thread.

Antes de chamar os Threads você deve criar (eu uso no Create do form).

Dentra do Thread.Execute, você faz apenas:

  Acesso.Enter;
  Try
    GravarArquivo;
  Finally
    Acesso.Lease;
  End;

Testa ai, e qualquer coisa posta denovo!

Abraço

--
José Henrique (Zote)

-----Original Message-----
From: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] On
Behalf Of Ilton Vieira Junior
Sent: quinta-feira, 12 de janeiro de 2006 09:27
To: delphi-br@yahoogrupos.com.br
Subject: Re: [delphi-br] Ler/Gravar arquivo em Thread

Como exatamente a variavel deve ser declarada?? Antes de criar a Thread 
e passa-la como parametro??

Estava tentando desta forma

threadvar
    Acesso : TCriticalSection;

Procedure TPropagandasThread.Execute;
Begin

  Acesso := TCriticalSection.Create;
  Acesso.Enter;
  Try
    GravarArquivo;
  Finally
    Acesso.Lease;
  End;

Porem na hora de gravar o arquivo, ocorre um erro de violação.

Ilton

José Henrique (Zote) escreveu:

> Você pode usar TCriticalSection.
>
> Funciona assim:
> - Você declara uma váriavel pública deste tipo
> - Quando for fazer um processo "único" você fazer o seguinte:
>
> Cs.Enter
>
> Try
>   // Faça aqui seu processamento
> Finally
>   Cs.Leave;
> End;
>
> Dá uma olhada no help do delphi que explica bem certinho.
> Você deverá adicionar a unit syncobj no uses.
> Qualquer coisa, é só falar.
>
> (Posso ter escrito algumas coisas erradas (métodos, units, etc) pq não to
> com o delphi aberto.
>
> Abraço
>
> --
> José Henrique (Zote)
>
> -----Original Message-----
> From: delphi-br@yahoogrupos.com.br 
> [mailto:[EMAIL PROTECTED] On
> Behalf Of Ilton Vieira Junior
> Sent: quarta-feira, 11 de janeiro de 2006 16:21
> To: delphi-br@yahoogrupos.com.br
> Subject: [delphi-br] Ler/Gravar arquivo em Thread
>
> Boa tarde pessoal.
>
>
>
>
>




-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>


 
Links do Yahoo! Grupos




 


Received: (qmail 47671 invoked by uid 0); 12 Jan 2006 09:25:39 -0200
Received: from 66.94.237.42 by poseidon.bludata.com.br (envelope-from
<[EMAIL PROTECTED]
om>, uid 0) with qmail-scanner-1.25 
 (clamdscan: 0.85/974. spamassassin: 3.0.2.  
 Clear:RC:0(66.94.237.42):SA:0(-1.7/5.0):. 
 Processed in 5.188401 secs); 12 Jan 2006 11:25:39 -0000
X-Qmail-Scanner-Mail-From:
[EMAIL PROTECTED]
m via poseidon.bludata.com.br
X-Qmail-Scanner: 1.25 (Clear:RC:0(66.94.237.42):SA:0(-1.7/5.0):. Processed
in 5.188401 secs)
Received: from unknown (HELO n8a.bullet.scd.yahoo.com) (66.94.237.42)
  by poseidon.bludata.com.br with SMTP; 12 Jan 2006 09:25:33 -0200
Comment: DomainKeys? See http://antispam.yahoo.com/domainkeys
DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=hotel;
d=yahoogrupos.com.br;
        
b=Lwf0s87t/6rgWc+hvXLakUvOOyBR8yTuwe1z9KDyUr/y5x8KA+7yhMiwFq26PJbe6b6dY9p0yL
ok0LOPkFJd37N6V1K/QEqi8FvTNHWHlAgLtjfue5cGf1WPExaPh3wF;
Received: from [66.218.69.2] by n8.bullet.scd.yahoo.com with NNFMP; 12 Jan
2006 11:25:25 -0000
Received: from [66.218.66.34] by t2.bullet.scd.yahoo.com with NNFMP; 12 Jan
2006 11:25:25 -0000
X-Yahoo-Newman-Property: groups-email
X-Sender: [EMAIL PROTECTED]
X-Apparently-To: delphi-br@yahoogrupos.com.br
Received: (qmail 82681 invoked from network); 12 Jan 2006 11:25:24 -0000
Received: from unknown (66.218.66.217)
  by m28.grp.scd.yahoo.com with QMQP; 12 Jan 2006 11:25:24 -0000
Received: from unknown (HELO itapoa.terra.com.br) (200.176.10.194)
  by mta2.grp.scd.yahoo.com with SMTP; 12 Jan 2006 11:25:24 -0000
Received: from ambrose.terra.com.br (ambrose.terra.com.br [200.176.10.10])
        by itapoa.terra.com.br (Postfix) with ESMTP id 592A26343BF
        for <delphi-br@yahoogrupos.com.br>; Thu, 12 Jan 2006 09:25:21 -0200
(BRST)
X-Terra-Karma:         -2%
X-Terra-Hash: 8a88a1918659761cd45c5fa302d32066
Received-SPF: pass (ambrose.terra.com.br: domain of terra.com.br designates
200.176.10.10 as permitted sender) client-ip=200.176.10.10;
[EMAIL PROTECTED]; helo=terra.com.br;
Received: from terra.com.br (unknown [201.28.60.146])
        (authenticated user ivjunior)
        by ambrose.terra.com.br (Postfix) with ESMTP id 354F73C1C092
        for <delphi-br@yahoogrupos.com.br>; Thu, 12 Jan 2006 09:25:21 -0200
(BRST)
Message-ID: <[EMAIL PROTECTED]>
User-Agent: Mozilla/5.0 (Windows; U; Win98; pt-BR; rv:1.0.2) Gecko/20030208
Netscape/7.02
X-Accept-Language: pt-br, pt
To: delphi-br@yahoogrupos.com.br
References: <[EMAIL PROTECTED]>
X-Originating-IP: 200.176.10.194
X-eGroups-Msg-Info: 1:12:0:0
From: Ilton Vieira Junior <[EMAIL PROTECTED]>
X-Yahoo-Profile: ivjunior
Sender: delphi-br@yahoogrupos.com.br
MIME-Version: 1.0
Mailing-List: list delphi-br@yahoogrupos.com.br; contact
[EMAIL PROTECTED]
Delivered-To: mailing list delphi-br@yahoogrupos.com.br
List-Id: <delphi-br.yahoogrupos.com.br>
Precedence: bulk
List-Unsubscribe: <mailto:[EMAIL PROTECTED]>
Date: Thu, 12 Jan 2006 09:27:24 -0200
Subject: Re: [delphi-br] Ler/Gravar arquivo em Thread
Reply-To: delphi-br@yahoogrupos.com.br
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Spam-Checker-Version: SpamAssassin 3.0.2 (2004-11-16) on 
        poseidon.bludata.com.br
X-Spam-Level: 
X-Spam-Status: No, score=-1.6 required=5.0 tests=AWL,BAYES_00,
        RCVD_IN_BL_SPAMCOP_NET autolearn=no version=3.0.2

Como exatamente a variavel deve ser declarada?? Antes de criar a Thread 
e passa-la como parametro??

Estava tentando desta forma

threadvar
    Acesso : TCriticalSection;

Procedure TPropagandasThread.Execute;
Begin

  Acesso := TCriticalSection.Create;
  Acesso.Enter;
  Try
    GravarArquivo;
  Finally
    Acesso.Lease;
  End;

Porem na hora de gravar o arquivo, ocorre um erro de violação.

Ilton

José Henrique (Zote) escreveu:

> Você pode usar TCriticalSection.
>
> Funciona assim:
> - Você declara uma váriavel pública deste tipo
> - Quando for fazer um processo "único" você fazer o seguinte:
>
> Cs.Enter
>
> Try
>   // Faça aqui seu processamento
> Finally
>   Cs.Leave;
> End;
>
> Dá uma olhada no help do delphi que explica bem certinho.
> Você deverá adicionar a unit syncobj no uses.
> Qualquer coisa, é só falar.
>
> (Posso ter escrito algumas coisas erradas (métodos, units, etc) pq não to
> com o delphi aberto.
>
> Abraço
>
> --
> José Henrique (Zote)
>
> -----Original Message-----
> From: delphi-br@yahoogrupos.com.br 
> [mailto:[EMAIL PROTECTED] On
> Behalf Of Ilton Vieira Junior
> Sent: quarta-feira, 11 de janeiro de 2006 16:21
> To: delphi-br@yahoogrupos.com.br
> Subject: [delphi-br] Ler/Gravar arquivo em Thread
>
> Boa tarde pessoal.
>
>
>
>
>




-- 
<<<<< 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

 


Responder a