Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.02.2015, 12:04   #1
Tabor678
Пользователь
 
Регистрация: 23.02.2015
Сообщений: 20
По умолчанию Timer не выключается

Не могу понять почему не выключается таймер, а начинает работать заново, ведь условие выполнено, вылазиет showmessage, но Timer2.Enabled:=false; не останавливает таймер.

P.S> если код ужасный, не ругайте Delphi изучаю меньше недели

Код:
procedure TForm4.Timer2Timer(Sender: TObject);
var
status1: integer;
kofff: string;
srav: integer;
begin
srav:=2;

Ini := TIniFile.Create(ExtractFilePath(ParamStr(0))+'set.ini');
kofff := Ini.ReadString('Info', 'ID', 'nofile');
Ini.Free;

ADQuery2.close;
ADQuery2.SQL.Text:='SELECT * FROM table WHERE kod=:Param103';
ADQuery2.Params.ParamByName('Param103').Value:=kofff;
ADQuery2.open;

status1 := ADQuery2.Fields[3].AsInteger;
if status1=srav then
begin
Timer2.Enabled:= true;
showmessage('Хай');
form7.Show;
form7.art;
Timer2.Enabled:=false;
end;
end;
Tabor678 вне форума Ответить с цитированием
Старый 27.02.2015, 12:13   #2
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

Timer2.Enabled:=false;убрать
Timer2.Enabled:= true заменить на Timer2.Enabled:=false;

а вообще, мягко говоря всё не правильно, зачем постоянно читать ини, он что меняется постоянно? если да то и с ним у вас не то, иначе зачитать хватит 1 раза а не в таймере

Цитата:
SELECT * FROM
вам надо 1 поле, зачем тянуть все, да еще напрягать базу без надобности?

Цитата:
form7.Show;
автосоздание - зло, глобальные переменные тоже

ну и таймер тут тоже не понятно зачем
lomastr_ вне форума Ответить с цитированием
Старый 27.02.2015, 12:21   #3
Tabor678
Пользователь
 
Регистрация: 23.02.2015
Сообщений: 20
По умолчанию

Цитата:
Сообщение от lomastr_ Посмотреть сообщение
Timer2.Enabled:=false;убрать
Timer2.Enabled:= true заменить на Timer2.Enabled:=false;
спасибо, таймер остановился)

Цитата:
зачем постоянно читать ини, он что меняется постоянно? если да то и с ним у вас не то, иначе зачитать хватит 1 раза а не в таймере
да, вы правы


Цитата:
автосоздание - зло
почему? как по другому?
Tabor678 вне форума Ответить с цитированием
Старый 27.02.2015, 12:37   #4
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

потому что создавать надо по мере надобности
lomastr_ вне форума Ответить с цитированием
Старый 27.02.2015, 12:52   #5
Tabor678
Пользователь
 
Регистрация: 23.02.2015
Сообщений: 20
По умолчанию

Цитата:
Сообщение от lomastr_ Посмотреть сообщение
потому что создавать надо по мере надобности
ну так в том то и дело, что форма должна появиться когда статус в базе поменяется. Тут проблема вот в чем, если этот самый form7.show включить по событию из кнопки, то она (form7) отлично открывается, если же во время работы программы в базе поменять статус на 2, то тоже form7 отлично открывается. Но если запустить программу, а в статусе в это время уже стоит 2, то эта форма выдает ошибку, скрин в файле
Изображения
Тип файла: png dewdwd.png (19.4 Кб, 57 просмотров)
Tabor678 вне форума Ответить с цитированием
Старый 27.02.2015, 13:07   #6
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

ну вот вам зло в явном виде
уберите ее из автосоздания
а в коде напишите что то типа этого
var
f : TForm7; только не в глобальной секции
...
f:= TForm7.Create;
f.Show;
а в закрытии формы указать Action:=caFree
lomastr_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выключается ноутбук Tranzakt Помощь студентам 40 06.04.2015 15:59
Выключается компьютер FLORA Компьютерное железо 6 04.07.2012 18:29
Выключается компьютер Hennesy Компьютерное железо 4 20.04.2012 12:25
компьютер выключается. SKS Компьютерное железо 3 10.06.2009 14:44
ноут не выключается!! photozaz Компьютерное железо 8 09.12.2008 14:41