Página 1 de 1

Ajuda com Procedure

MensagemEnviado: 13 Mar 2009 11:00
por leo_alves_br
Olá a todos.

Preciso de ajuda de iniciante com uma Procedure.

É o seguinte criei uma Procedure para executar uma tarefa varias vezes... só que quando coloco ela para alterar um valor de um objeto, como um botão por exemplo ela dá erro.

Tem algum lugar que preciso associar a procedure aos objetos?


Um exemplo do que quero fazer:

Código: Selecionar todos
procedure mudabotao;
begin
      Button1.Caption := 'Help';
end;
 
procedure TForm1.FormActivate(Sender: TObject);
begin
   mudabotao
end;
 
end.


Obrigado pela ajuda

Re: Ajuda com Procedure

MensagemEnviado: 13 Mar 2009 12:06
por Renie
Olá Leo,

Como a procedure mudabotão não faz parte da classe do form, ela
não consegue acessar seus componentes, para que isso fosse
possível, você teria que passar o objeto como parâmetro para
a procedure.

O citado acima é complicado, para ficar muito mais fácil, incorpore
sua rotina a classe do form:

- coloque a declaração " procedure mudabotao; " na descrição TYPE
da classe

- Na implementação, qualifique a procedure indicando que ela
pertence ao form "procedure Tform1.mudabotao; "

[]'s
Renie

MensagemEnviado: 16 Mar 2009 08:12
por leo_alves_br
Olá Renie...

Obrigado pela ajuda.

Fiz como vc falou com relação a incorporação da rotina ao class do form.

Funcionou muito bem, obrigado.

Código: Selecionar todos
unit callprocedure;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FormActivate(Sender: TObject);
    procedure mudabotao;
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.mudabotao;
begin
      Button1.Caption := 'Help';
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
   mudabotao
end;

end.