Leox 2 Denunciar post Postado Maio 25, 2013 Boa noite programmers... Depois de tanta peleja, tive que vir "consultar os universitários" para quem saiba, me dar uma "luz"... rs. É o seguinte... Estou desenvolvendo uma pequena aplicação utilizando VCL no C++ Builder XE quem tem a SINTAXE bem similar. E em uma parte dessa aplicação, eu gostaria de fazer um TPanel de "execuntado", com um TLabel e TProgressBar, porém ao executar, o TPanel não aparece conforme o planejado... imagem abaixo: Olhem como deveria aparecer: Porém, não sei nem por onde começar a pesquisar este tipo de comportamento da VCL. Alguém tem noção disso??? Abraços. Aguardo. Compartilhar este post Link para o post Compartilhar em outros sites
Eisenheim 67 Denunciar post Postado Maio 25, 2013 Olá amigo. Você precisa utilizar o Método Application.Messages para que ele consiga printar a tempo o seu componente e assim exibí-lo. Até a próxima. :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites
Leox 2 Denunciar post Postado Maio 26, 2013 Valeu Eisenheim, Você diz em apresentar uma menssagem para que o componente seja exibido corretamente? Se sim, não faz sentido, porque o componente 'trava' depois que a mensagem é fechada. Deve haver alguma outra forma do componente trabalhar corretamente... já tentei com Thread, mas também não funfou... :( Abraço. Compartilhar este post Link para o post Compartilhar em outros sites
Eisenheim 67 Denunciar post Postado Maio 26, 2013 Olá amigo. Na verdade houve uma falha de minha parte com relação ao nome do método utilizado. No caso, seria o Application.ProcessMessages, desculpe o erro de digitação. Até a próxima. :thumbsup: Compartilhar este post Link para o post Compartilhar em outros sites
Leox 2 Denunciar post Postado Maio 26, 2013 Valeu novamente Eisenheim, Agora sim entendi... e pude chegar a um resultado similiar ao que eu queria... :) Vou disponibilizar a lógica como ficou (lembrando que em Delphi é um pouquinho diferente...) : //Aprensentar painel LOADING pnlLoad -> Visible = true; //Capturando valor a somar na barra de progresso. int valorSomar = 100/qtd_linhas; //Laço para executar operações para a quantidade de linhas. for (i = 1; i < qtd_linhas; i++) { //Progress Bar ProgressBarLoading -> StepBy(valorSomar); //Caption de loading lblLoadingData -> Caption = IntToStr(i)+" de "+IntToStr(qtd_linhas); //Apresentar corretamente o TPanel de Load. Application -> ProcessMessages(); //RESTO DO FOR... } No mais, obrigado pela "luz" Eisenheim... espero poder contar contigo numa próxima dúvida... rsrs... :yay: Abraço. Compartilhar este post Link para o post Compartilhar em outros sites