Surgir e desaparecer Form
25/03/2006
0
Rudá
Posts
30/03/2006
Paullsoftware
tente assim...
crie uma nova aplicação, adicione um novo form e no form principal coloque um botton e teste o código abaixo:
Form2.BringToFront; AnimateWindow(form2.Handle,3000,AW_VER_NEGATIVE); Form2.Show;
[color=blue:144378403f][size=18:144378403f]onde [/size:144378403f][/color:144378403f]:!: :!: :!:
no lugar de [i:144378403f]AW_VER_NEGATIVE[/i:144378403f] pode ser:
[b:144378403f][list:144378403f]AW_HOR_POSITIVE
AW_HOR_NEGATIVE
AW_VER_POSITIVE
AW_VER_NEGATIVE
AW_CENTER
AW_HIDE
AW_ACTIVATE
AW_SLIDE
AW_BLEND[/list:u:144378403f][/b:144378403f]
espero ter ajduado! :wink:
30/03/2006
Rudá
E tem um problema tb ele para a aplicação toda quando ta executando essa função!
30/03/2006
Paullsoftware
vou procurar e posto aqui se achar... :wink:
30/03/2006
Rudá
Não tem como abrir todos de vez??
30/03/2006
Tiks
type minhathread = class(TThread) private protected procedure Execute; override; end;
procedure minhathread.execute; begin {comandos aqui} freeOnterminate := true; end;
e chame ela assim:
minhathread.Create(false);
31/03/2006
Rudá
Eu quero que ele execute a ação só que não trave o form!
Pode me ajudar??
31/03/2006
Tiks
qualquer dúvida só responder
:)
31/03/2006
Rudá
procedure TForm1.Button1Click(Sender: TObject); begin Form:= TForm2.Create(Application); minhathread.Create(false); end; procedure minhathread.execute; begin AnimateWindow(Form.Handle,5000,AW_BLEND); Form.Show; FreeOnterminate:= True; end;
Ai quando clico fica tudo blz, mas se eu clicar em seguida antes de ele completar o AnimateWindow ele funciona blz, ai eu fecho o segundo form que abrir e ele fecha agora o primeiro ele não fecha clico no x e nada, o que pode ser??
01/04/2006
Tiks
deixo ver se eu entendi, ele da esse problema quando você clica novamente antes de terminar?
Se for, você pode por para ele só executar a thread novamente se a primeira já tiver sido terminada, tipo assim:
procedure TForm1.Button1Click(Sender: TObject); begin Form:= TForm2.Create(Application); minhathread.Create(false); end; procedure minhathread.execute; begin if pronto = true then begin pronto := false; AnimateWindow(Form.Handle,5000,AW_BLEND); Form.Show; pronto := true; FreeOnterminate:= True; end; end;
Eu estou fora de casa então não pude testar para ver se deu certo, se não funcionar a idéia é esta: Checar se a thread está em execução, se estiver não executar.
Espero que funcine
Tiks~
01/04/2006
Rudá
02/04/2006
Rudá
Não estou conseguindo fazer com que ela feche direito, sempre da erros doidos, um cada vez mais diferente do outro, que maneira certa deve ser liberado da memória um form de uma DLL??
02/04/2006
Rudá
Tenho uma TImage no FormDLL e no Form do Aplicativo tenho outra TImage, a dll cria o FormDLL e me manda qual é o form para o Form do Aplicativo ai eu envio o bitmap da TImage do Aplicativo para a TImage do FormDLL, até ai tudo funciona, mas quando fecho o FormDLL, e no OnClose eu dou um Free; ai ele da erro mas se eu tirar a passagem do Bitmap ele não da mais erro, e se eu colocar uma Bitmap no TImage já definido no FormDLL e gerar a dll não da erro.
Pelo que eu percebi é na hora de passar o Bitmap.
Alguem pode me esclarecer pq??
Clique aqui para fazer login e interagir na Comunidade :)