Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Странности WinApi, MMsystem, Timer 
:(
    Опции темы
welt
Дата 10.11.2005, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 89
Регистрация: 21.5.2005
Где: UnderGround

Репутация: нет
Всего: нет



возник такой вопрос. В модуле mmsystem есть функция TimeSetEvent
Я пишу процедуру типа таймера. Вот, что получается

Код

procedure FnTimerCallBack(uTimerID, uMessage: UINT; dwUser, dw1, dw2: DWORD); stdcall;
begin
showmessage('');
end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
timeSetEvent(5000, 0, @FnTimerCallBack, 0, TIME_PERIODIC);
end;


Т.е после нажатия на кнопку, через 5 сек появляется сообщение.
У меня два вопроса
1) Почему форма появляется не сразу, а с задержкой(~2сек)?.
В то время как, если закоментировать строчку в обработчике кнопки
(//TimeSetEvent(5000, 0, @FnTimerCallBack, 0, TIME_PERIODIC); )
Форма появится сразу.
2) Как только средствами сделать, чтобы сначала появлялась заставка, а потом(через N секунд) окно? Заставкой может быть картинка. Окно создал так: CreateWindowEx... (короче зарегестрировал класс и дальше как обычно...)

PM MAIL   Вверх
Romikgy
Дата 10.11.2005, 09:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 13
Всего: 146



А чем обычный таймер не подошел?


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
~FoX~
Дата 10.11.2005, 09:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


НЕ рыжий!!!
****


Профиль
Группа: Участник Клуба
Сообщений: 2819
Регистрация: 8.10.2003
Где: Зеленоград

Репутация: 0
Всего: 68



Во первых замени TIME_PERIODIC на TIME_ONESHOT а то замучаешься мессаги закрывать smile Ну это так к слову.


Код

var
  Form1: TForm1;
  f: real;
implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
  f:=GetTickCount;
  timeSetEvent(5000, 0, @FnTimerCallBack, 0, TIME_PERIODIC);
end;

procedure FnTimerCallBack(uTimerID, uMessage: UINT; dwUser, dw1, dw2: DWORD); stdcall;
var
  c, r: real;
begin
  c:=GetTickCount;
  r := c - f;
  showmessage(FloatToStr(r));
end;


Возвращает по чесному 5000 мсек. Так, что вероятно просто на глаз кажеться что чуть больше. В конце концов поставь не 5000, а 4 или 3 как больше нравиться

Это сообщение отредактировал(а) ~FoX~ - 10.11.2005, 09:47


--------------------
user posted image
…множественность никогда не следует полагать без необходимости…
PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0439 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.