GARANTIR DESCONTO

Fórum Bug do Delphi 2007? #350088

05/12/2007

0

Estou com um problema, no delphi 2007 tenho um form com um panel, quando dou um

Panel.visible:= False;


o sistema não oculta o panel, depurando o delphi mostra a propriedade como visible false, mas o panel continua visivel na tela.

Alguem já viu isso?????


Steve_narancic

Steve_narancic

Responder

Posts

05/12/2007

Obrunno

Cara, seu problema é eventual. O mais correto é reinstalá-lo.


Responder

Gostei + 0

05/12/2007

Steve_narancic

Já reinstalei e o erro persiste!


Responder

Gostei + 0

05/12/2007

Macario

Olá.

Isso ocorre com qualquer TPanel?

Já tentou remover o TPanel e inclui-lo novamente.


8)


Responder

Gostei + 0

05/12/2007

Massuda

Qual Windows você está usando? Alguns componentes tem problemas com temas do Windows.


Responder

Gostei + 0

06/12/2007

Steve_narancic

Windows XP professional


Responder

Gostei + 0

06/12/2007

Fabiano Góes

Estou com um problema, no delphi 2007 tenho um form com um panel, quando dou um Panel.visible:= False; o sistema não oculta o panel, depurando o delphi mostra a propriedade como visible false, mas o panel continua visivel na tela. Alguem já viu isso?????


steve,

fiz um teste aqui com Delphi2007 e WinXP e funcionou certinho, o panel foi ocultado.

acho que o problema deve estar na sua instalação mesmo.


Responder

Gostei + 0

06/12/2007

Vitor Alcantara

isso também está me ocorrendo também.
Mais consegui perceber que só ocorre (no meu caso) quando o parent do componente é uma aba do PageControl.

Não é a primeira vez que isso me ocorre.

Acho que é um Bug do Delphi 2007 sim.

Que ver fassam o teste coloque um panel/GroupBox em uma aba que não seja a primeira do Pagecontrol , deixe ela ocultada crie um evento no botão (Que estara na primeira aba) tipo GroupBox1.Visible := True e outro (Que estára na primeira aba também) GroupBox1.Visible := False.

Ele vai aparecer a propiedade visible como falsa (Inclusive se você colocar alguma letra de atalho utilizando o caractere ´&´ ele realmente não vai pegar o focu quando precionar Alt+Letra de atalho), mais só que o componente continuará visivel.

Se alguem ai tiver uma solução e souber posta ai.


Responder

Gostei + 0

06/12/2007

Vitor Alcantara

Ps : Se chamar o evento de entro da aba que contem o Panel/GroupBox dai sim o Panel/GroupBox ira ficar invisivel.


Responder

Gostei + 0

08/12/2007

Steve_narancic

Que ver fassam o teste coloque um panel/GroupBox em uma aba que não seja a primeira do Pagecontrol


O meu panel realmente esta na segunda aba de um pagecontrol


Responder

Gostei + 0

08/12/2007

Sistemald

Oi,

rapaz fiz o teste, confirmado, é bug sério do Delphi 2007, mas eu não atualizei o delphi, alguém já atualizou para vê se ocorreo mesmo erro?


Responder

Gostei + 0

08/12/2007

Luciano Paranhos

Eu NAO confirmo este BUG. estou usando o Windows Vista e o BDS 2007 (Delphi 2007 update 3 ).
Fiz o exemplo citado e sumiu da tela sem problemas.


Responder

Gostei + 0

08/12/2007

Sistemald

Oi,

refiz os teste vi que o bug as vezes aparece ou não.

Coloquei no ftp o projeto com bug

[url]http://www.donato.inf.br/Download/bug.rar[/url]

1º Rode o executavel troque para tabsheet1 e pressione o botão, vai para tabsheet2 e veja que o painel continua lá.
2º Agora apenes troque em design time a aba e rode e teste novamente. o bug sumio.

As vezes o bug aparece e as vezes não


Responder

Gostei + 0

08/12/2007

Vitor Alcantara

Olha o que percebi, é que quando o evento e disparado na aba aonde o panel/groupbox esta contido o objeto realmente desaparece, mais se for disparado de outra aba, o mesmo não ocorre.

Pra resolver esse problema procure sempre disparar o evento com a tabsheet dona do componente (panel,groupbox ou outro) visivel depois troque pra a tabsheet que deseja.

Ou seja se estiver em outra tabseet va pra tabsheet dona do component de um component.visible := false depois volte pra tabsheet que você estava antes.

(Trabalhoso né. Mais foi o único jeito que eu encontrei).


Responder

Gostei + 0

11/12/2007

Devmedia

Cara.

Desculpa, mas depois de tanta explicação.

Voce está fazendo assim?


1 PageControl -> 2 TabSheet -> 1 Panel -> 1 GroupBox ????

Entendeu?
Não testei o bug que está falando. Só estava lendo seu tópico e notei isto.
Não sei do seu sistema, mas não esta exagerado 1 Panel dentro de 1 TabeSheet sendo que ela já justamente para voce separar ou criar mais oportunidades de se enteragir melhor com as nescecidades do seu sistema.

Somente uma idéia.
Tipo se voce não quer mostrar o conteudo da outra TabSheet.
Tente:

TabSheet1.TabVisible := False;


Somente uma idéia. Não me interprete mal.
Um abraço.

Att.


Responder

Gostei + 0

24/02/2008

Obrunno

Fiz um teste aqui e a partir do 1° tabsheet, consigo ocultar um panel no 2° tabsheet.

O que pode acontecer, não sei se é um bug específico da sua versão, é que propriedades como visible e focused só possam ser manipuladas quando o tabsheet estiver selecionado.

Neste caso, vc deve criar uma variável no form ´OcultarPanel : Boolean;´, no botão que vc estiver colocando para ocultar o panel, ao invés de ´panel1.visible := false;´, vc coloca ´OcultarPanel := true;´.
Daí, no evento OnShow do TabSheet2 vc coloca ´if OcultarPanel then panel1.visible := false´

Lá vai o código fonte:

[color=darkblue:76972de2d8][b:76972de2d8]unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Buttons, ExtCtrls, ComCtrls;

type
TForm1 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
Panel1: TPanel;
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
procedure TabSheet2Show(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
OcultaPainel : Boolean;

implementation

{$R *.dfm}

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
OcultaPainel := true;
end;

procedure TForm1.TabSheet2Show(Sender: TObject);
begin
if OcultaPainel then Panel1.Visible := false;
end;

end.[/b:76972de2d8][/color:76972de2d8]


Responder

Gostei + 0

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

Aceitar