![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как остановить таймер в его событии ontimer? [D7, XP]
Сергей © (2011-01-21 18:27:00)После выполнения процедуры PrintDilogeSetNamePrinter нужно остановить
таймер, в такой вариации выдает ошибку.
: Not enough actual parameters
procedure TForm_ControllerPdf.Timer_PrintPdfTimer(Sender: TObject);
begin
PrintDilogeSetNamePrinter ('Print','ComboBox',ComboBoxNamePrinter.Text,Timer_PrintPdfTimer);
Timer_PrintPdfTimer.enabled:=false;
end;
DVM (2011-01-22 15:44:00) [1]
> DiamondShark ©
Поставил бы смайлик что ли, а то выглядело как наезд :) Причем наезд как на отвечающих так и на делфи сразу :)
DiamondShark (2011-01-22 15:40:00) [2]
> DVM © (22.01.11 15:30) [17]
Извините, я не подумал, что столь откровенный стёб над классическими претензиями Начинающих может быть быть воспринят с такой нечеловечески чудовищной серьёзностью.
Извините, это было жестоко с моей стороны.
DVM (2011-01-22 15:30:00) [3]
> DiamondShark © (22.01.11 15:23) [16]
Серьезно. А ты? Какое отношение синатаксис и семантика Delphi (пусть и кривая и какая угодно неважно) имеет к тому, что среда автоматически генерирует обработчики событий так, что в них используется имя экземпляра к которому они относятся и человек перепутал. Я не понимаю вообще смысл твоей реплики в [13].
DiamondShark (2011-01-22 15:23:00) [4]
> DVM © (22.01.11 15:14) [14]
Вы это серьёзно?
DVM (2011-01-22 15:20:00) [5]
> Сергей (21.01.11 20:35) [8]
> procedure TForm_ControllerPdf.Timer_PrintPdfTimer(Sender:
> TObject);
> begin
> // любая процедура
> // хочу отключить таймер Timer_PrintPdf
> Timer_PrintPdfTimer.enabled:=false;
> end;
Если ты хочешь отключить таймер, то и обращайся к свойству таймера, причем тут процедура то. Таймер у тебя называется как?
procedure TForm_ControllerPdf.Timer_PrintPdfTimer(Sender: TObject);
begin
// любая процедура
Timer_PrintPdf.enabled:=false;
end;
DVM (2011-01-22 15:14:00) [6]
> DiamondShark © (22.01.11 15:00) [13]
> Человек всё правильно написал. Ему же надо запретить срабатывание
> процедуры обработки таймера.
Чтоб запретить срабатываение именно процедуры обработки таймераписать надо совсем другое, типа Timer_PrintPdf.OnTimer := nil, ему же надо остановить таймер, что он и делает, просто перепутал имя. И Делфи тут не причем и уж точно синтаксис и семантикатут тем более не причем.
Можно подумать, в C# это же самое будет выглядеть по другому? Практически один в один будет.
DiamondShark (2011-01-22 15:00:00) [7]Человек всё правильно написал. Ему же надо запретить срабатывание процедуры обработкитаймера. И он не виноват, что у дельфи такие нелогичные синтаксис и семантика.
Всегда у вас так. Вместо того, чтобы объяснить неочевидные вещи, гыгыкать и тыкать пальцами.
Anatoly Podgoretsky (2011-01-21 21:35:00) [8]> Ega23 (21.01.2011 20:20:06) [6]
Так и есть и достаточно только чуть чуть поднять глаза - procedure
TForm_ControllerPdf.Timer_PrintPdfTimer(Sender: TObject);
Anatoly Podgoretsky (2011-01-21 21:32:00) [9]> Сергей (21.01.2011 20:15:05) [5]
Тогда у тебя Timer_PrintPdfTimer это процедура, а не таймер. Проверяй текст
поиском по данному слову
Styx (2011-01-21 21:17:00) [10]
> Имя таймера: Timer_PrintPdf
Ну так и пиши - Timer_PrintPdf.enabled := false;
Германн (2011-01-21 20:42:00) [11]Напиши так:
Timer_PrintPdfTimer(Self).enabled:=false;
Ошибка пропадет :)
Сергей (2011-01-21 20:35:00) [12]Имя таймера: Timer_PrintPdf
процедура вызывается по событию таймера OnTimer:
procedure TForm_ControllerPdf.Timer_PrintPdfTimer(Sender: TObject);
begin
// любая процедура
// хочу отключить таймер Timer_PrintPdf
Timer_PrintPdfTimer.enabled:=false;
end;
Styx (2011-01-21 20:23:00) [13]Что-то я не догоняю... Вы дали одно и то же имя объекту и функции? И как компилятор определит, где кто?
Ega23 (2011-01-21 20:20:00) [14]
procedure TForm_ControllerPdf.Timer_PrintPdfTimer(Sender: TObject);
begin
// нужная процедура.
Timer_PrintPdfTimer.enabled:=false; Not enough actual parameters
end;
Timer_PrintPdfTimer- это не объект, это метод классаTForm_ControllerPdf.
А объект - скорее всегоTimer_PrintPdf
Сергей (2011-01-21 20:15:00) [15]
procedure TForm_ControllerPdf.Timer_PrintPdfTimer(Sender: TObject);
begin
// нужная процедура.
Timer_PrintPdfTimer.enabled:=false; Not enough actual parameters
end;
Anatoly Podgoretsky (2011-01-21 19:17:00) [16]> Сергей (21.01.2011 18:27:00) [0]
// Timer_PrintPdfTimer.enabled:=false;
Что?
Ega23 (2011-01-21 18:53:00) [17]Уй, ё....
Timer_PrintPdf Timer.enabled:=false;
Leonid Troyanovsky (2011-01-21 18:31:00) [18]
> Ega23 © (21.01.11 18:29) [1]
> На какой строке-то выдаёт? :)
В другой нет параметров.
Тоже путают кислое с мягким.
--
Regards, LVT.
Ega23 (2011-01-21 18:29:00) [19]
> : Not enough actual parameters
На какой строке-то выдаёт? :)