Главная страница
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.015 c
14-23305
Morgan
2003-04-22 16:15
2003.05.08
Дейт К. Введение в системы баз данных.


1-23162
Max1111
2003-04-24 14:32
2003.05.08
обнуление массива


3-22968
Vertx
2003-04-17 11:42
2003.05.08
Как переделать типизированный файл (стринговая запись) в .db???


7-23413
Anton Tsvilikh
2003-03-17 15:50
2003.05.08
Закрыть прогу...


14-23335
Wonder
2003-04-18 11:59
2003.05.08
Управление Спецвебдизайнстроймонтаж-18