Fórum Chamar procedure de um form genérico #376217
09/02/2010
0
Bem, acho que o título não está muito correto, mas não achei nada melhor :)
Meu problema é o seguinte:
.Tenho vários forms, todos são filhos do mesmo ´pai´, e todos têm uma procedure chamada ´processar_arquivo´, contudo cada form executa essa procedure de uma forma diferente.
.Todos esses forms utilizam uma unit para efetuar o download de um arquivo xml, essa unit é uma thread.
Gostaria de fazer o seguinte: Quando a thread terminar, eu gostaria que ela executasse a procedure ´processar_arquivo´ do form de origem. Tentei fazer das seguintes maneiras:
1)Na declaração public da thread:
Na hora de executar tentei usar assim: Form_Origem.Processar_Arquivo, obviamente não funcionou, por que o TForm, não tem essa função.
2)No form pai declarei uma função virtual
E nos filhos
E na thread
Bem, tb não funcionou, por que ele tenta usar a procedure do pai...
Tentei chamar a função pelo nome da função, dessa forma: [url]http://delphi.about.com/cs/adptips2004/a/bltip0204_3.htm[/url]
Também não deu certo, alguma ideia?Sem ser dar uses em todos os forms que vão usar a thread
Meu problema é o seguinte:
.Tenho vários forms, todos são filhos do mesmo ´pai´, e todos têm uma procedure chamada ´processar_arquivo´, contudo cada form executa essa procedure de uma forma diferente.
.Todos esses forms utilizam uma unit para efetuar o download de um arquivo xml, essa unit é uma thread.
Gostaria de fazer o seguinte: Quando a thread terminar, eu gostaria que ela executasse a procedure ´processar_arquivo´ do form de origem. Tentei fazer das seguintes maneiras:
1)Na declaração public da thread:
public Form_Origem : TFrom
Na hora de executar tentei usar assim: Form_Origem.Processar_Arquivo, obviamente não funcionou, por que o TForm, não tem essa função.
2)No form pai declarei uma função virtual
public procedure processar_arquivo; virutal
E nos filhos
public procedure processar_arquivo; override;
E na thread
(Form_Origem as Tform_Pai).processar_arquivo
Bem, tb não funcionou, por que ele tenta usar a procedure do pai...
Tentei chamar a função pelo nome da função, dessa forma: [url]http://delphi.about.com/cs/adptips2004/a/bltip0204_3.htm[/url]
Também não deu certo, alguma ideia?Sem ser dar uses em todos os forms que vão usar a thread
Waldirjr
Curtir tópico
+ 0
Responder
Posts
09/02/2010
Waldirjr
Esquece já resolvi :oops:
usei o onterminate da thread :O, desculpa ae, lapso de memoria
usei o onterminate da thread :O, desculpa ae, lapso de memoria
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)