Показать сообщение отдельно
  #1  
Старый 01.06.2012, 22:53
Аватар для angvelem
angvelem angvelem вне форума
.
 
Регистрация: 18.05.2011
Адрес: Омск
Сообщения: 3,970
Версия Delphi: 3,5,7,10,12,XE2
Репутация: выкл
По умолчанию SetTimer и TimeSetEvent

Собственно задачу я решил, но вопрос остался. При использовании мультимедийного таймера (TimeSetEvent), загрузка файла не происходит
Код HTML:
procedure OnTimer(uTimerID, uMsg, dwUser, dw1, dw2 : Integer); stdcall; begin ... Sound.LoadFromFile(Name); ... end; ... Sound := TSound.Create; Timer := TimeSetEvent(500, 1, @OnTimer, 0, TIME_PERIODIC);

через обычный таймер всё нормально
Код HTML:
procedure OnTimer(Wnd : HWND; Msg, idEvent, dwTime : Longint); stdcall; begin ... Sound.LoadFromFile(Name); ... end; ... Sound := TSound.Create; SetTimer(Wnd, 1, 500, @OnTimer);

здесь происходит загрузка файла
Код HTML:
procedure TSound.LoadFromFile(Name : String); var WideName : array[0..MAX_PATH - 1] of WideChar; begin if Name = '' then Exit; MultiByteToWideChar(CP_ACP, 0, PChar(Name), -1, WideName, MAX_PATH); if FAILED(pLoader.LoadObjectFromFile(CLSID_DirectMusicSegment, IID_IDirectMusicSegment8, WideName, pSegment)) then Exit; ...
Так и не понял причину такого поведения.
__________________
Je venus de nulle part
55.026263 с.ш., 73.397636 в.д.
Ответить с цитированием