Fórum passagem de parâmetros na Unit #162638
26/05/2003
0
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
Curtir tópico
+ 0Posts
26/05/2003
Carnette
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.
Gostei + 0
27/05/2003
Rafael Heise
procedure ShowModal(Par1, Par2...); override;
como definição da procedure
e dai
procedure ShowModal(Par1, Par2...);
begin
inherited ShowModal;
{... seu código ... }
end;
Gostei + 0
27/05/2003
Delmar
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.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)