Exibir mensagem anterior :: Exibir próxima mensagem |
Autor |
Mensagem |
fbnois Membro Junior


Registrado: Quinta-Feira, 10 de Abril de 2008 Mensagens: 364 Localização: Na frente do Computador
|
Enviada: Qua Nov 03, 2010 8:26 am Assunto: Exibir form durante tempo que uma procedure é executada[res] |
|
|
Pessoal sei q já vi algo aqui no forum sobre mas não consegui achar, é o seguinte tenho uma procedure que importa dados de um arquivo do sped e grava no banco, bem esse procedimento de leitura demora um pouco e eu gostaria que esse procedimento quando chamado trouxesse um form e nele fosse rodado a procedure para não dar aquele aparencia q os demais form estão travado. Será q fui claro? Bem se puderem me ajuda por favor postem ai.
vlw
Editado pela última vez por fbnois em Sex Nov 05, 2010 10:07 am, num total de 1 vez |
|
Voltar ao Topo |
|
 |
felipecaputo Colaborador


Registrado: Quinta-Feira, 13 de Mai de 2010 Mensagens: 1719 Localização: Florianópolis / SC
|
Enviada: Qua Nov 03, 2010 8:30 am Assunto: |
|
|
Bom dia amigo, aqui na empresa temos uma procedure que se chama MostraForm que exibe o form e mantem o foco nele (AlwaysOnTop) e na rotina lostfocus dele ele tem focus denovo
e no final chamamos a rotina fechaform que remove o evento do onlostfocus e fecha ele e colocamos ele +- assim
Código: | try
mostraform();
.....
finally
fechaform;
end; |
_________________ if Post.State = psResolvido then
Post.Caption := Post.Caption + ' [RESOLVIDO]';
_____________________________________________
O único homem que está isento de erros, é aquele que não arrisca acertar. Albert Einstein |
|
Voltar ao Topo |
|
 |
karlosrapanui Profissional


Registrado: Terça-Feira, 29 de Agosto de 2006 Mensagens: 538
|
Enviada: Qua Nov 03, 2010 1:53 pm Assunto: |
|
|
Crie um form em tempo de execução
var
F:Tform;
MSG: Tlabel;
Borda: TShape;
begin
Application.ProcessMessages;
// CRIA O FORM
F:= TForm.Create(Application);
F.BorderStyle := bsNone;
F.Position := poMainFormCenter;
F.Width := 369;
F.Color := clAqua;
F.Height := 196;
F.Name := 'Arial';
F.Font.Size := 12;
F.Font.Style := [fsBold];
F.Font.Color := clRED;
Borda := TShape.Create(Application);
Borda.Parent := F;
Borda.Align := alClient;
MSG := TLabel.Create(Application);
MSG.Parent := F;
MSG.Transparent := True;
MSG.AutoSize := False;
Msg.Caption := 'Aguarde, atualizando o cadastro.';
MSG.Alignment := taCenter;
MSG.Align := alClient;
MSG.Layout := tlCenter;
F.Show;
F.Update;
// FAÇA A ROTINA
// LIBERA O FORM
F.Free;
Espero que seja util
[]'s
Carlos |
|
Voltar ao Topo |
|
 |
AnOnImUs.Info Colaborador


Registrado: Quinta-Feira, 23 de Agosto de 2007 Mensagens: 1119 Localização: Goiânia - GO
|
Enviada: Qua Nov 03, 2010 3:30 pm Assunto: |
|
|
Form.Repaint;
ou
Application.ProcessMessages _________________ Reter o conhecimento é promover a ignorância ! |
|
Voltar ao Topo |
|
 |
fbnois Membro Junior


Registrado: Quinta-Feira, 10 de Abril de 2008 Mensagens: 364 Localização: Na frente do Computador
|
Enviada: Sex Nov 05, 2010 10:07 am Assunto: |
|
|
No meu caso acabei optando po usar threads, gostei muito da solução
mas obrigado pela atenção!
vlw |
|
Voltar ao Topo |
|
 |
karlosrapanui Profissional


Registrado: Terça-Feira, 29 de Agosto de 2006 Mensagens: 538
|
Enviada: Sex Nov 05, 2010 10:09 am Assunto: |
|
|
Camarada fbnois
Compartilhe com a gente a sua solução.
[]'s
Carlos |
|
Voltar ao Topo |
|
 |
fbnois Membro Junior


Registrado: Quinta-Feira, 10 de Abril de 2008 Mensagens: 364 Localização: Na frente do Computador
|
|
Voltar ao Topo |
|
 |
|