![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MCI-окна
Nomolos © (2004-09-04 09:14:00)В MSDN довольно подробно описан процесс работы с MCI-окнами, хотел в Delphi реализовать получение длины MIDI-файла, в милисекундах, с их помощью. Вроде, ничего парадоксального:
function MCIWndCreate(Parent: HWND; hInstance: Cardinal;
Style: DWORD; FileName: PAnsiString): HWND; stdcall; external 'msvfw32.dll';
function MCIWndGetLength(Wnd: HWND): Integer;
begin
Result := SendMessage(Wnd, WM_USER + 104, 0, 0)
end;
procedure TForm1.Button1Click(Sender: TObject);
var
MCIWnd: HWND;
begin
MCIWnd := MCIWndCreate(Handle, hInstance, 0, PAnsiString(Edit1.Text));
Label1.Caption := IntToStr(MCIWndGetLength(MCIWnd));
DestroyWindow(MCIWnd)
end;
На выходе из Button1Click исключение, мол, access violation, всё такое... Судя по всему, не работает MCIWndCreate (пробовал выкинуть две другие команды), но, тем не менее, функция выдаёт вменяемые дескрипторы. В чём может быть дело?
Nomolos (2004-09-05 10:46:00) [1]А как ещё без классов и mmsystem узнать длину midi?