Programa externo dentro de outro, aberto pela 2ª vez, não aparece

Delphi

11/11/2010

Olá pessoal!   Gostaria de ver se alguém ja passou por isso ou sabe a resolução.   Seguinte:   Meu sistema possui um gerenciador de módulos; é por ele que o usuário acessa todos os programas. Quando ele executa pela 1ª vez qualquer executável, o gerenciador ve que o mesmo nao está na memória e executa o programa desejado, carregando-o dentro do gerenciador através do Windows.SetParent e ShowWindow.   Digamos que o gerenciador precisou ser fechado ou ocorreu alguma exeception que o finalizou forçadamente. O programa que estava aberto ficou na memória. Quando o usuário abrir o gerenciador novamente, o gerenciador  sabe o handle do MainForm do programa que esta aberto em memória e tenta carregá-lo novamente.   O estranho é que mesmo tendo o handle, que é o mesmo do MainForm da aplicação executada na 1ª tentativa, ao tentar o Windows.SetParent e ShowWindow novamente, apenas o fundo do form aparece dentro do gerenciador; o restante dos controles do programa não aparecem...   Alguém sabe o pq disso?   Se puderem me ajudar, ficarei muito grato!   Abs!    
Marcelo Souza

Marcelo Souza

Curtidas 0
POSTAR