View Issue Details

IDProjectCategoryView StatusLast Update
0000885LazarusLCLpublic2011-11-21 17:44
ReporterGeorge LoberAssigned ToZeljan Rikalo 
Status closedResolutionfixed 
PlatformLinuxOSGentoo LinuxOS Version
Product Version0.9.7 (CVS)Product Build26-04-2005 
Target VersionFixed in Version0.9.29 (SVN) 
Summary0000885: TTabSheet component problems
DescriptionWhen making "TTabSheet.TabVisible:=false" the whole tabsheet page is disabled not just the tab. During Design, you cannot select it from Object Inspector > TPageControl > ActivePage, or RightClicking TabSheet on Form > ShowPage..., At Runtime it is also disabled, "" does not work.

During Design: If you want to turn of all tabs (you just want to use the pages), by making "TTabSheet.TabVisible:=false", if you don't turn them off in the reverse order of creating them, all of the turned off tabs do not disappear. Even if you turn them off in the reverse order of creating them, if you shut down Lazarus and start up and auto load your project, some tabs will be showing as if you turned them off in the wrong order.
During Runtime: Wheather you turned off the tabs in the proper order or not, turned off tabs show.
Additional InformationWhen I was trying to figure out the behavior of the bug, using a simple form with one PageControl component with three TabSheets and Button on each TabSheet, turning the TabVisible property on and off in some sequence caused a Access Violation Error which I was not able to reproduce.
Also on a more complicated Application which I ported over from Delphi7, where the main form has 16 tabsheets, if I turn of the tabs in any other order except reverse of creating them, and I exit Lazarus and start back up with auto load of the application, The whole IDE will hang before it finishes drawing the IDE menu icons and the application components. Only the IDE outline and form outlines finish drawing. The only way to clean up is to kill the IDE at that point and edit the associated .lfm file entries back to TabVisible=true or remove the TabVisible=false entries.
TagsNo tags attached.
Fixed in Revision
Attached Files


George Lober

2005-04-28 00:44

reporter   ~0000645

I also want to add that with the Application I ported over from Delphi7, I have (child)TabSheets inside (main)TabSheets which do not redraw in the unused (child)TabSheet space, components like buttons and listview redraw ok, so what you end up with artifacts from popups and other window images, etc., in the unused spaces, unless you switch the main TabSheets. That redraws everything OK. This transparency happens both during Design and Runtime. I have not been able to duplicate this behavior with a simple test application.

George Lober

2005-05-04 01:50

reporter   ~0000654

Sorry about rating the severity as major, but could not bring myself to rate it as minor, at least from my point of view anyway :) , how about allowing a "medium" rating.

George Lober

2005-05-14 14:22

reporter   ~0000703

Digging into the code I see TabVisible actually uses methods AddPage and RemovePage. No wonder it does not work like in Delphi. Looks like quite a bit of a rewrite is needed. On the upside I have found one can use TPageControl.ShowTabs, which makes this bug trivial for me.

Zeljan Rikalo

2009-09-12 22:28

developer   ~0030669

Heavy tested (0.9.29 r 21646) and cannot reproduce.
Fill free to reopen WITH ATTACHED EXAMPLE if anything is wrong (or I misunderstood your bug report).

Issue History

Date Modified Username Field Change
2005-04-27 22:20 George Lober New Issue
2005-04-27 22:20 George Lober Widgetset => GTK
2005-04-28 00:44 George Lober Note Added: 0000645
2005-05-04 01:50 George Lober Note Added: 0000654
2005-05-14 14:22 George Lober Note Added: 0000703
2005-08-01 15:20 Vincent Snijders Target => post 1.0
2005-08-01 15:20 Vincent Snijders Severity major => minor
2006-12-02 20:27 Vincent Snijders Status new => acknowledged
2009-09-12 22:28 Zeljan Rikalo LazTarget post 1.0 => 0.9.30
2009-09-12 22:28 Zeljan Rikalo Status acknowledged => resolved
2009-09-12 22:28 Zeljan Rikalo Fixed in Version => 0.9.29 (SVN)
2009-09-12 22:28 Zeljan Rikalo Resolution open => fixed
2009-09-12 22:28 Zeljan Rikalo Assigned To => Zeljan Rikalo
2009-09-12 22:28 Zeljan Rikalo Note Added: 0030669
2011-11-21 17:44 Zeljan Rikalo Status resolved => closed