![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MSDN -> Delphi [D7, WinXP]
Аноним © (2004-03-23 11:03:00)Есть такой листинг взятый с MSDN
[ccode]
ICreateDevEnum *pDevEnum = NULL;
IEnumMoniker *pEnum = NULL;
// Create the System Device Enumerator.
HRESULT hr = CoCreateInstance(CLSID_SystemDeviceEnum, NULL,
CLSCTX_INPROC_SERVER, IID_ICreateDevEnum,
reinterpret_cast(&pDevEnum));
if (SUCCEEDED(hr))
{
// Create an enumerator for the video capture category.
hr = pDevEnum->CreateClassEnumerator(
CLSID_VideoInputDeviceCategory,
&pEnum, 0);
}
[/ccode]
Как перевести это на Delphi? Помогите...
Аноним (2004-03-23 12:55:00) [1]Все нашел, спасибо.
Asdor (2004-03-23 12:34:00) [2]Знаешь, что такое библиотека типов?
Тебе надо импортировать в проект библиотеку типов DirectShow и прописать ее в uses вместо того, что я написал как TLB. из какой dll'ки ее импортировать, я не знаю, т.к. не занимался этим. Ищи.
Аноним (2004-03-23 12:14:00) [3]Я простно не знал чего подключать. Кстати пишет, что нет такого - "TLB".
Как быть?
Asdor (2004-03-23 12:03:00) [4]
Uses ActiveX, ComObj, и TLB, где объявлены ICreateDevEnum и IEnumMoniker;
var pDevEnum:ICreateDevEnum;
PEnum:IEnumMoniker;
hr:HResult;
begin
hr:=CoCreateInstance(CLSID_SystemDeviceEnum, nil,
CLSCTX_INPROC_SERVER, IID_ICreateDevEnum, pDevEnum);
if Succeeded(hr) then
begin
hr:=pDevEnum.CreateClassEnumerator(CLSID_VideoInputDeviceCategory, pEnum, 0);
end;
end;
И что же здесь сложного?