Fórum DLL SendMessage Fechar Form MDI #336757

25/01/2007

0

Boa tarde pessoal,
Estou tentando fechar um Form fsMDIChild mandando o comando de dentro de uma DLL.

Explicando:

Tenho em minha aplicação uma rotina para envio de email. Todo o codigo para envio do e-mail esta em uma DLL. Entao eu tenho na minha aplicação um Form com o seguinte Caption := ´EDITA E-MAIL´

No código da DLL apos fazer o envio do E-mail eu fiz assim:
procedure TMyThread.FecharJanela;
var
  Janela   : hWND;
begin
  Janela:= FindWindow(nil, PChar(´EDITA E-MAIL´));
  SendMessage(Janela, WM_CLOSE,0,0);
end;


Não esta funcionando, deve ser porque o Form é do tipo fsMDIChild pois eu fiz um teste e troquei o caption do form EDITA E-MAIL para o caption do formulario principal da aplicação ai funciona ... a aplicação é encerrada.

Alguem sabe como posso resolver este problema?

Obs.: A rotida para envio do email esta em uma TThread por isso quando no Form EDITA E-MAIL eu mando enviar a aplicação nao fica travada.


Mmoreira

Mmoreira

Responder

Posts

25/01/2007

Haikal

O FindWindow não pega esta janela do tipo fsMDIChild, será que se você usar EnumWindowsProc, até achar o caption desejado não funciona? capaz que no EnumWindowsProc este tipo de form seje listado.


Responder

Gostei + 0

26/01/2007

Mmoreira

haikal,

Obrigado pela atenção e desculpe pela demora para responder.
Não sei se entendi direito o que voce disse mas o Caption da janela eu ja tenho ... o que eu preciso é Fechar a mesma ... eu pensei em usar o SendMessage mas ao que parece por este caminho nao vou conseguir.
Preciso de outra alternativa para fechar este form.

Se eu estiver errado me corrija.

Valew, Abraços!


Responder

Gostei + 0

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

Aceitar