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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.007 c
3-80405
IronHawk
2002-02-22 16:50
2002.03.25
Кто может - поможет ! Уважаемые Мастера ! Снова DBGrid !!!


1-80582
Monk
2002-03-10 19:13
2002.03.25
E-mail!


1-80488
ded_di
2002-03-12 13:53
2002.03.25
IBX Delphi Update


7-80695
ValeryM
2001-12-19 17:48
2002.03.25
Медиаплейер, ошибка mmsystem


1-80524
sevylor
2002-03-08 05:14
2002.03.25
DOS & int25





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский