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

Вниз

Помогите с ACM (Audio Compression Manager).   Найти похожие ветки 

 
Blacked ©   (2003-01-30 02:05) [0]

Я пытаюсь получить информацию об Драйверах и постоянно возникает ошибка:
Access violation at address 00000010. Read of adress 00000010.
Испробывал уже всё что можно. Делал отладку, немогу найти проблему.
Использую MSACM.pas от JEDI http://www.delphi-jedi.org/.
Может кто сталкивался...

часть исходника:

//==============================================================================
function FormatEnumProc(hACMDrvId: HACMDRIVERID; ACMFmtDet: TACMFormatDetails;
dwInstance: DWord; fdwSupport: DWord): LONGBOOL; stdcall;
begin
...
...
Result:=True; // Продолжить поиск всёх форматов
ShowMessage("Сейчас вылитит птичка ERROR!!!");
end;

//==============================================================================
function DriverEnumProc(hACMDrvId: HACMDRIVERID;
dwInstance: DWORD; fdwSupport :DWORD): BOOL; stdcall;
var
ACMDrvDet: TACMDriverDetails;
ACMFmtDet: TACMFormatDetails;
WaveFormatEx: TWaveFormatEx;
MaxSize : Word;
hACMDrv : HACMDriver;
begin
if fdwSupport=ACMDRIVERDETAILS_SUPPORTF_CODEC then
begin
ACMDrvDet.cbStruct:=SizeOf(ACMDrvDet);
if acmDriverDetails(hACMDrvId, ACMDrvDet, 0) = 0 then
if HiWord(ACMDrvDet.vdwACM)<=HiWord(acmGetVersion) then
if ACMDrvDet.fdwSupport and ACMDRIVERDETAILS_SUPPORTF_CODEC > 0 then
begin
// Заполним бокс драйвера
SelectFormatForm1.DriverBx1.Items.Add(ACMDrvDet.szShortName);
// Инициализируем структуры
FillChar(WaveFormatEx,SizeOf(WaveFormatEx),#0);
FillChar(ACMFmtDet,SizeOf(TACMFormatDetails),#0);
hACMDrv:=nil;
if acmDriverOpen(hACMDrv,hACMDrvId,0) <> 0 then Result:=False;
// Получим максимальный размер формата
MaxSize:=0;
if acmMetrics(HACMOBJ(hACMDrv),ACM_METRIC_MAX_SIZE_FORMAT,MaxSize) <> 0 then Result:=False;
if MaxSize<SizeOf(WaveFormatEx) then MaxSize:=SizeOf(WaveFormatEx);
WaveFormatEx.cbSize:=LoWord(MaxSize)-SizeOf(WaveFormatEx);
WaveFormatEx.wFormatTag:=0;
// Устанавливаем формат для получения параметров
ACMFmtDet.cbStruct:=SizeOf(ACMFmtDet);
ACMFmtDet.pwfx:=@WaveFormatEx;
ACMFmtDet.cbwfx:=MaxSize;
ACMFmtDet.dwFormatTag:=0;
// Пытаемся получить всё форматы
if acmFormatEnum(hACMDrv,ACMFmtDet,@FormatEnumProc,Integer(SelectFormatForm1),0) <> 0 then Result:=False;
acmDriverClose(hACMDrv,0);
end;
end;
Result:=True; // Продолжить поиск всёх драйверов
end;

//==============================================================================
procedure TSelectFormatForm1.InitSelFormat;
begin
// ТУТ НАЧАЛО ВСЕГО
acmDriverEnum(@DriverEnumProc,Integer(Self),ACM_DRIVERENUMF_DISABLED);
end;
//==============================================================================


 
Владимир Васильев ©   (2003-01-30 10:20) [1]

Проверяй почту.


 
savva ©   (2003-01-30 12:19) [2]

> Владимир Васильев © (30.01.03 10:20)
> Проверяй почту.

ну так не интересно.. может в кладовку?:)))


 
Владимир Васильев ©   (2003-01-30 14:38) [3]

Это не мои компоненты и в данный момент их новая версия распространяется автором как Shareware , - но опубликованы они в своё время были под Mozilla Public License - так что проверяй почту :).


 
savva ©   (2003-01-30 14:47) [4]

>Владимир Васильев © (30.01.03 14:38)
>так что проверяй почту :).
спасибо:)))




 
Blacked ©   (2003-01-30 17:22) [5]

Нет народ, так не пойдёт. Мне не нужны компоненты, мне надо имено на API. Может кто уже писал подобную прогу и скинит часть исходника.



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

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

Наверх




Память: 0.48 MB
Время: 0.022 c
1-23060
BBCHa
2003-04-25 16:25
2003.05.08
Нестандартная прорисовка скроллинга


1-23166
alt7
2003-04-23 17:27
2003.05.08
Булевы глюки


14-23382
Cranium
2003-04-21 18:39
2003.05.08
Проверка корректности номеров ИНН


9-22902
UNIVERSAL
2002-11-25 11:30
2003.05.08
3D анимация


4-23432
Виталик
2003-03-07 15:10
2003.05.08
messageBox