Bug do Delphi 2007?

Delphi

05/12/2007

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

Curtidas 0

Respostas

Obrunno

Obrunno

05/12/2007

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


GOSTEI 0
Steve_narancic

Steve_narancic

05/12/2007

Já reinstalei e o erro persiste!


GOSTEI 0
Macario

Macario

05/12/2007

Olá.

Isso ocorre com qualquer TPanel?

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


8)


GOSTEI 0
Massuda

Massuda

05/12/2007

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


GOSTEI 0
Steve_narancic

Steve_narancic

05/12/2007

Windows XP professional


GOSTEI 0
Fabiano Góes

Fabiano Góes

05/12/2007

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.


GOSTEI 0
Vitor Alcantara

Vitor Alcantara

05/12/2007

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.


GOSTEI 0
Vitor Alcantara

Vitor Alcantara

05/12/2007

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


GOSTEI 0
Steve_narancic

Steve_narancic

05/12/2007

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


GOSTEI 0
Sistemald

Sistemald

05/12/2007

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?


GOSTEI 0
Luciano Paranhos

Luciano Paranhos

05/12/2007

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.


GOSTEI 0
Sistemald

Sistemald

05/12/2007

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


GOSTEI 0
Vitor Alcantara

Vitor Alcantara

05/12/2007

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).


GOSTEI 0
Devmedia

Devmedia

05/12/2007

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.


GOSTEI 0
Obrunno

Obrunno

05/12/2007

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]


GOSTEI 0
POSTAR