Usando Threads para rodar processo individual na mesma aplicação – Show Delphi

DICAS

Visite a biblioteca de dicas da comunidade.

Saiba mais

ARTIGOS

Abordagens detalhadas sobre assuntos diversos.

Saiba mais

INICIANTES

Aprenda a programar de um modo simples e fácil.

Saiba mais

DOWNLOADS

Acesse os materiais exclusivos aos membros.

Saiba mais
voltar

PARA QUEM GOSTA DE DELPHI

Usando Threads para rodar processo individual na mesma aplicação

 

Isso é a forma de fazer programação paralela antes do
Delphi XE 7, que trouxe diversos melhoramentos para este assunto.

Veja o exemplo de como usar uma Threads

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
unit Unit1;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
  System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
 
type
  TForm1 = class(TForm)
    Button1: TButton;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
  TMinhaThread = class(TThread)
  private
 
  protected
    procedure Execute; override;
  public
    constructor Create();
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
constructor TMinhaThread.Create();
begin
  inherited Create(True);
 
  { Chama o contrutor herdado. Ele irá temporariamente colocar o 
    thread em estado de espera para depois executá-lo. }
  FreeOnTerminate := True; // Libera da memoria o objeto após terminar.
 
  { Configura sua prioridade na lista de processos do Sistema operacional. }
  Priority := TpLower;
 
  Resume; // Inicia o Thread.
end;
 
procedure TMinhaThread.Execute;
begin
  inherited;
  // Aqui fica o corpo da Thread onde você vai rodar seus
  // scripts que devem ser executados em processo individual
 
  Form1.Label1.Caption := 'Teste';
end;
 
{ Colocando a Thread em execução }
procedure TForm1.Button1Click(Sender: TObject);
var
  vThread : TMinhaThread;
begin
  vThread := TMinhaThread.Create;
 
  vThread.Execute;
end;
 
end.

Fonte base: http://www.planetadelphi.com.br/dica/7565/-usando-threads-para-rodar-processo-individual-na-mesma-aplicacao-

Facebook Comments

Posts Relacionados

  • Giovani Da Cruz
  • 62 views
  • 0 comentários
  • 19 de novembro de 2016

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Ir ao topo

© 2016 Infus Soluções em Tecnologia - Todos os Direitos Reservados