Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Вот уж не думал, что тут не будет работать....... [D6, Win95/98, Win2k]


Filat ©   (2002-07-24 19:59:00) 

Столкнулся с элементарным !!!, но почему не работает, не пойму, может сам компонент виноват, хотя пробовал и на стандартных, тоже не сработало.
Есть кнопка Button или у меня от Ra_Lib компоненты, так вот, как заставить смениться её капшину на её же событие OnClick.
procedure TMain_kb.RAhtButton2Click(Sender: TObject);
begin
if RAhtButton2.Caption="Рабочий цикл" then
RAhtButton2.Caption:="";
end;
Работает !!!!

procedure TMain_kb.RAhtButton2Click(Sender: TObject);
begin
if RAhtButton2.Caption="Рабочий цикл" then
RAhtButton2.Caption:="Остановить";
end;
Не работает ???
Почему?


Anatoly Podgoretsky   (2002-07-24 20:52:00) [1]

Это другое дело, надежно работающий кусок, защищет даже от ошибок дизайн-тайм


Filat   (2002-07-24 20:25:00) [2]

Мда, .... почёсывая макитру.... :))))))))
Все правильно, работает, я извиняюсь, вот полный код процедуры, в нём получается что значение присваивается и потом снова меняется на исходный:
procedure TMain_kb.RAhtButton2Click(Sender: TObject);
begin
if RAhtButton2.Caption="Рабочий цикл" then
RAhtButton2.Caption:="Остановить";
................

if RAhtButton2.Caption="Остановить" then
RAhtButton2.Caption:="Рабочий цикл";
end;

Сделал так, все заработало:

procedure TMain_kb.RAhtButton2Click(Sender: TObject);
begin
if RAhtButton2.Caption="Рабочий цикл" then
RAhtButton2.Caption:="Остановить"
else
RAhtButton2.Caption:="Рабочий цикл";
end;

Спасибо, видно устал уже.....


Palladin   (2002-07-24 20:15:00) [3]

должно работать...
если только у тебя нагрузка на процессор во время выполнения этого участка большая тогда, может статся что до конца работы проги caption так и не поменяется,особенно если после проработки проги она сразу завершается то ты и не заметишь...
могу посоветовать после смены caption вставить
Application.ProcessMessages;
если и не в этом дело то это уже глюк :) может тебе стоит комп перезагрузить :)


Anatoly Podgoretsky   (2002-07-24 20:07:00) [4]

Просто RAhtButton2.Caption <> "Рабочий цикл" или ты не получаешь управление в обработчик, поставь две точки останова и посмотри


Наверх

Титульная страница Поиск, карта сайта Написать письмо