![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как программно узнать установлен ли DirectX ?
comwad © (2003-11-28 06:42:00)Нашел в книге (DIRECTX Графика в проектах Delphi - Михаил Краснов) предлагаемую функцию? (см.ниже)
Но она естественно вызывает исключение и на экран выходит некрасивая ошибка типа не найдена иочка входа в процедуру.....
Как можно сделать красиво?
Может быть через реестр?
Function TVideoScanForm.FindDirectX:Boolean;
var
FDD : IDirectDraw7;
hRet : HRESULT;
begin
FDD := nil;
try
try
hRet := DirectDrawCreateEx (nil, FDD, IDirectDraw7, nil);
if Failed (hRet)
then
Begin
Result:=False;
End
else Result:= True;
finally
if Assigned (FDD) then FDD := nil;
end;
except
Result:=False;
end;
end;
Sapersky (2003-11-28 09:56:00) [1]В заголовках для каждого компонента DX есть переменная-handle соответствующей DDL-ки (для DirectDraw это, например, DDrawDLL). В секции инициализации делается попытка загрузить эту DLL-ку и получить адреса процедур типа xxxCreate (DirectDrawCreateEx и пр.). Если DX не установлен, DLL-ка не загрузится. Так что нужно просто проверять:
If DDrawDLL=0 then ShowMessage('DirectX not found');
Думкин (2003-11-28 07:28:00) [2]Какая винда и какой директ установлен?