Aplicar Função a todos os forms...
Pessoal, vou tentar explicar o + claro possível...
Há alguma maneira de aplicar uma função a todos os forms da aplicação, colocando esta função apenas no form principal...
É + ou menos o seguinte:
suponhamos que eu quisesse que sempre que fosse fechar um form, recebesse uma msg...
Tem como no meu form principal existir uma função tipo executa msg... que sem colocar o código nos outros formulários, ela se aplicaria?
Há alguma maneira de aplicar uma função a todos os forms da aplicação, colocando esta função apenas no form principal...
É + ou menos o seguinte:
suponhamos que eu quisesse que sempre que fosse fechar um form, recebesse uma msg...
Tem como no meu form principal existir uma função tipo executa msg... que sem colocar o código nos outros formulários, ela se aplicaria?
Danilorsa
Curtidas 0
Respostas
Carlosk
21/11/2003
tem...
vc devera declarar o cabecalho da funcao abaixo do type do form, junto com as funcoes que o delphi cria automaticamente... e devera redeclara-la apos o implementation usando o nome do form na frente da funcao... exemplo:
se eu tenho uma funcao pegastring, que retorna uma string, primeiro vou declara-la assim:
function pegastring: string;
na parte de implementation, vou declara-la assim:
nomedoform.pegastring: string;
begin
...
end;
feito isso, eh soh colocar no seu segundo form, o nome do form principal na clausula uses...
na hora que for chamar a funcao, chame assim:
nomedoform.pegastring
pra mim funciona...
abracos
vc devera declarar o cabecalho da funcao abaixo do type do form, junto com as funcoes que o delphi cria automaticamente... e devera redeclara-la apos o implementation usando o nome do form na frente da funcao... exemplo:
se eu tenho uma funcao pegastring, que retorna uma string, primeiro vou declara-la assim:
function pegastring: string;
na parte de implementation, vou declara-la assim:
nomedoform.pegastring: string;
begin
...
end;
feito isso, eh soh colocar no seu segundo form, o nome do form principal na clausula uses...
na hora que for chamar a funcao, chame assim:
nomedoform.pegastring
pra mim funciona...
abracos
GOSTEI 0
Erucci
21/11/2003
Caro Amigo
Você pode fazer assim: Orientado a Objetos....
Cria um Formulário padrão com várias funções... exemplo: mudar a cor de foco no edit..
Dai... é só você criar os formulários herdando as características desse seu formulário.... Clique em FILE ... NEW... OTHER... na paleta Project 1 e escolha Form1 com a opção INHERIT selecionada...
assim o formulário FORM1 será criado com todas as características do formulário de funções....
valewz
luís
Você pode fazer assim: Orientado a Objetos....
Cria um Formulário padrão com várias funções... exemplo: mudar a cor de foco no edit..
Dai... é só você criar os formulários herdando as características desse seu formulário.... Clique em FILE ... NEW... OTHER... na paleta Project 1 e escolha Form1 com a opção INHERIT selecionada...
assim o formulário FORM1 será criado com todas as características do formulário de funções....
valewz
luís
GOSTEI 0
Rafael Heise
21/11/2003
É isso mesmo, se você quer fazer isso, o jeito mais fácil é usando herança, que na linguagem orientada a objeto é super fácil, e consequentemente o delphi também!
GOSTEI 0
Beppe
21/11/2003
Quando um form é fechado é chamado o evento OnClose do mesmo, se um existe. Coloque código neste evento para realizar o que quer. Para não precisar escrever isto em cada form, você escreve um manipulador de evento compartilhado.
Quando você for criar um form, coloque isto junto:
procedure TMainForm.OthersFormsClose(Sender: TObject; var Action: TCloseAction); begin ... end;
Quando você for criar um form, coloque isto junto:
FormX := TFormX.Create(Application); FormX.OnClose := MainForm.OthersFormsClose;
GOSTEI 0