Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.25;
Скачать: CL | DM;

Вниз

Ошибка при создании класса?   Найти похожие ветки 

 
lipskiy ©   (2002-03-13 03:28) [0]

На самом деле нагромоздился ряд вопросов.
Изначальная задача была такая.
Есть модуль, в котором описан набор самостоятельных функций, вне какого-либо класса. Среди функций потребовалось использовать повторяющиеся операции через определенные интервалы времени, но чтобы прога не висла в этом месте на ожидании. Ничего лучшего в голову не пришло, кроме как использовать TTimer (может быть можно и проще?).
Но оказалось, что назначить на таймер событие можно только в пределах класса, просто процедура не вешается.
Объявил класс, самостоятельный, не наследуясь. Объявил внутри него все процедуры модуля и сам таймер. Написал конструктор Create в котором пытаюсь создать таймер, но он, собака, не создается, вылетает с ексепшеном. И вообще даже пустой конструктор не проходит - ошибка.

По сему вопросов два.
1. Как проще всего выполнять определенные действия через равные интервалы времени, если не использовать таймер и воообще компонентов для измерения времени.

2. Если объявлен пустой класс и внутри него присутствует только конструктор Create, то почему ошибка? Вот код:

unit Unit2;

interface

type
TMyClass = class
constructor Create;
end;

var MyClass1:TMyClass;

implementation

constructor TMyClass.Create;
begin
// здесь ошибка, кода никакого нет
end;

end.


И вызываю из основного модуля:

procedure TForm1.FormCreate(Sender: TObject);
begin
MyClass1.Create;
end;


Чего не хватает?


 
Suntechnic ©   (2002-03-13 04:52) [1]

Вообще ты по-моему чего-то перемудрил, но вопрос по таймерам, по ним и ответ получишь :)

Таймеры разные бывают. Тот о котором ты говоришь связан с UI, но тебе совсем не обязательно его использовать. Этот таймер в основном используется тогда, когда тебе необходимо осуществлять переодические действия с интерфейсом(у него для этого и специальное сообщение предусмотрено- WM_TIMER), в противном случае целесообрано использовать другой таймер. Посмотри в хелпе CreateWaitableTimer и SetWaitableTimer, может такой таймер тебя больше устроит...


 
Иван Шихалев ©   (2002-03-13 07:33) [2]

Вообще-то, можно использовать и просто SetTimer.


 
MBo ©   (2002-03-13 07:53) [3]

не хватает
MyClass1:=TMyClass.Create;


 
lipskiy ©   (2002-03-13 09:21) [4]

2 MBo
Спасибо!
Вот черт, даже стыдно за такое... Время, правда, было позднее (или раннее?)

2 Suntechnic & Иван Шихалев
З-цей чувствую, что устроит такая функция. А нет ли примерчка по использованию. Че-то по хелпу пока не врублюсь с ходу.




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

Текущий архив: 2002.03.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.025 c
3-80447
KIR
2002-02-27 00:36
2002.03.25
Вопрос специалистам по FastReport


7-80696
belobadgo
2001-12-06 16:52
2002.03.25
Как проиграть wav-файл в телефонную линию.


1-80530
Darkwin
2002-03-13 10:31
2002.03.25
TMemoryStream


7-80707
LORN
2001-12-19 22:13
2002.03.25
Есть ли у кого - готовая прога ФОРМАТИРОВАНИЕ ДИСКЕТ?


14-80655
ilysha
2002-02-07 09:02
2002.03.25
Кто-то спрашивал про Update Delphi 6. Это здесь.