Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

Почему может не срабатывать TGauge.Visible?   Найти похожие ветки 

 
Zheksonz   (2012-02-28 20:05) [0]

TStatusBar является "предком" двух TGauge, на панелях которого они отображаются во время некоторых процессов. Один по команде Gauge1.Visible = false; становится невидимым, а второй Gauge2.Visible = false нет(( Обычно источником подобной мистики является моя невнимательность, а иногда и тупость, но в этот раз я всё проверил вдоль и поперёк. StatusBar.Refresh делу не помог(( Может есть какое-то ограничение на количество отображаемых Gauge в Statusbar_е?


 
Zheksonz   (2012-02-28 20:31) [1]

кинул на новую форму StatusBar и два Gauge, так же раскинул их по панелям. Так всё работает, в программе же, несмотря на то, что принципиальных отличий в работе именно StatusBar_а и Gauge - нет. Мистика!


 
Zheksonz   (2012-02-28 20:52) [2]

хм(((((((((( Gauge.Visible := true; вначале процедуры, до начала цикла, делает видимым объект, а после окончания цикла, в конце процедуры, обнуление Gauge проходит успешно, а Gauge.Visible := false нет(((


 
Zheksonz   (2012-02-28 21:37) [3]

и всё-таки мистика!

убрал из FormCreate код цепляющий g2 на StatusBar1 и по вызову g2.Visible := false; g2 на форме перестал отображаться. Т.е. в самом g2 нет проблем, как и в алгоритме использования. А что же в этом StatusBar_е может быть не так? Ведь второй Gauge, отображаемый в этом же StatusBar_е, только на другой панели, работает нормально.

Вот код привязки обоих Gauge:


with g1 do
begin
 Parent := StatusBar1;
 Progress := 0;
 Top := 2;
 Left := StatusBar1.Panels[0].Width;
 Height := StatusBar1.Height - Top;
 Width := 98;
end;

with g2 do
begin
 Parent := StatusBar1;
 Progress := 0;
 Top := 2;
 Left := StatusBar1.Panels[0].Width + StatusBar1.Panels[1].Width;
 Height := StatusBar1.Height - Top;
 Width := 98;
end;


 
Anatoly Podgoretsky ©   (2012-02-28 22:40) [4]

> Zheksonz  (28.02.2012 20:05:00)  [0]

TStatusBar не является предком TGauge


 
Zheksonz   (2012-02-28 22:45) [5]


> Anatoly Podgoretsky ©   (28.02.12 22:40) [4]


Предком нет, а родителем, учитывая Gauge.Parent := StatusBar1; ?


 
Zheksonz   (2012-02-28 22:46) [6]

И ведь не в этом суть, а почему не включается невидимость компонента?


 
Zheksonz   (2012-02-28 23:39) [7]

Если смотрю отладчиком, тоGauge.Progress и Gauge.Visible принимают необходимые значения, 0 и false соответственно.

Удивительно же то, что после прогона ф-ции с отладчиком объект становится невидимым, без отладчика же, по крайней мере визуально, значение не меняется на 0 и Gauge остаётся видимым.

Ставил задержку перед выполнением этих операций, ставил Application.ProcessMessages, делал Refresh и Repaint StatusBar_а и Gaugе... всё бестолку. Заново закидывал эти компоненты, на случай если наклацал случайно в свойствах лишнего... в общем поизвращался на славу!

Вот и в чём кака?


 
Германн ©   (2012-02-28 23:47) [8]

DFM файл можешь показать?


 
Zheksonz   (2012-02-28 23:53) [9]


> Германн ©   (28.02.12 23:47) [8]


Он 43 кб.

В общем сдался я, вернее решил остановить накапливание зря потраченного времени...

Заменил Gauge обычным ProgressBar_ом, ничего не меняя в алгоритме, и всё заработало как нужно.


 
Забаненный   (2012-02-29 01:00) [10]


> Parent := StatusBar1;

а не лучше ли родителем делать панель? и если уж так хочется гауг, то дай ему еще родителя, ее видимостью управляй. ту же панель, например.


 
Zheksonz   (2012-02-29 01:34) [11]


> Забаненный   (29.02.12 01:00) [10]


На будущее буду иметь в виду, но сейчас возвращаться к Gauge нет смысла. ProgressBar вполне устраивает. Спасибо.


 
Германн ©   (2012-02-29 01:46) [12]


> Zheksonz   (28.02.12 23:53) [9]
>
>
> > Германн ©   (28.02.12 23:47) [8]
>
>
> Он 43 кб.

Можно выложить на Webfile или ещё куда-нибудь.
Вот просто интересно сколько в этом файле есть TGauge?


 
Забаненный   (2012-02-29 02:51) [13]

Кстати да, даже в ХЕ2 такие грабли по-прежнему могут быть.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.07 c
15-1332852071
stas
2012-03-27 16:41
2013.03.22
У кого есть Galaxy tab


1-1295718209
VLK32
2011-01-22 20:43
2013.03.22
Как присвоить обобщенную процедуру


15-1351950219
Wonder
2012-11-03 17:43
2013.03.22
Какой хулиган удалил мой логин?


2-1338443775
Demo
2012-05-31 09:56
2013.03.22
Настроить Delphi 2007


15-1351684728
Inovet
2012-10-31 15:58
2013.03.22
И Яндекс не остался в стороне от браузеростроения





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский