Fórum passagem de parâmetros na Unit #162638

26/05/2003

0

Alguém sabe se é possível passar
parâmetros na chamada de um formulário.
Assim, por ex.
nfrom.showmodal(parametro1, parametro2, ...,parametron);

Em outra lista o pessoal sugeriu usar variáveis globais.
É disso que eu quero fugir, para tomar mais controle,
pois, se fosse possível chamar uma unit passando parâmetros,
no caso de esquecer algum teria erro de sintaxe. Então o sistema
sempre me avisaria que preciso passar os parâmetros, como
acontece com chamadas a procedures e functions usando parâmetros.

Agradeço pelos comentários.


Delmar

Delmar

Responder

Posts

26/05/2003

Carnette

Como passar parâmetros entre 2 forms
Suponha que você esteja no Form1 e precise chamar o Form2 passando dois parametros (´Aden´ e ´Rodrigues´).
1. Crie as variáveis de instancia do Form2 que receberão os dois parâmetros.
2. Reescreva o Construtor desse form, de forma receber os parametros e atribui-los às suas variáveis de instância:
type
TForm2 = class(TForm)
private
Parametro1 : String;
Parametro2 : String;
public
constructor Create(AOwner : TComponent; pParm1, pParm2 : String);
end;

var
Form2: TForm2;

implementation

Constructor TForm2.Create(AOwner : TComponent; pParm1, pParm2 : String);
begin
inherited Create(AOwner);
Parametro1 := pParm1;
Parametro2 := pParm2;
end;

Agora no seu form1, abra o form2 com a seguinte sintaxe:

With TForm2.Create(self, ´Aden´, ´Rodrigues´) do
Begin
ShowModal;
Free;
End;

Obs: Não deixe o delphi criar automaticamente o formulário. Crie-o (e destrua-o) manualmente.


Responder

Gostei + 0

27/05/2003

Rafael Heise

Você pode fazer a mesma coisa com o ShowModal....
procedure ShowModal(Par1, Par2...); override;
como definição da procedure
e dai
procedure ShowModal(Par1, Par2...);
begin
inherited ShowModal;
{... seu código ... }
end;


Responder

Gostei + 0

27/05/2003

Delmar

Constructor TForm2.Create(AOwner : TComponent; pParm1, pParm2 :
String);
begin
[color=blue:dc117320fb]inherited Create(AOwner); //nesta linha erro de acesso ao componente[/color:dc117320fb]
Parametro1 := pParm1;
Parametro2 := pParm2;
end;

[color=blue:dc117320fb]Está retornando o erro de acesso a endereço de memória,
como se Aowner não tivesse sido criado ou não está visível.
O que devo verificar?[/color:dc117320fb]

Um colega da lista sugeriu fazer com o showmodal.
Vou testar também.


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar