Текущий архив: 2004.11.14;
Скачать: CL | DM;
Внизпроблема с ActiveKOL, точнее с KOLComObj Найти похожие ветки
← →
Max Kozlov (2004-04-22 17:57) [0]в readme:
- In v1.1.106, events handling fixed (by Alexey Izyumov).
- In v2.0.160, Variants used for case of Delphi6 and higher.
а variants, однако, использует SysUtils. так что размер вылезает за сотню кило сразу.
но не это главное. главная проблема тут:
простенькая программа проверки активности ActiveDesktop"а:
function IsActiveDesktopEnable: Boolean;
const
CLSID_ActiveDesktop: TGUID = "{75048700-EF1F-11D0-9888-006097DEACF9}";
var
ActiveDesk: IActiveDesktop;
ComponentsOpt: TComponentsOpt;
begin
Result:=False;
try
ActiveDesk := CreateComObject(CLSID_ActiveDesktop) as IActiveDesktop;
except
on e: Exception do begin
ShowMessage(e.Message);
Exit;
end;
end;
ZeroMemory(@ComponentsOpt, SizeOf(TComponentsOpt));
ComponentsOpt.dwSize := SizeOf(TComponentsOpt);
ActiveDesk.GetDesktopItemOptions(ComponentsOpt, 0);
Result := ComponentsOpt.fActiveDesktop;
end;
сразу же генерит Exception(ole error -214722008) на CreateComObject()
аналогичный текст на VCL легко работает.
если использовать ComObj вместо KOLComObj то говорит, что CoInitialize has not been called (кстати с ним размер меньше :)
что чинить ?
← →
Max Kozlov (2004-04-22 19:23) [1]... однако если в начале вызвать CoInitialize(nil), всё действительно заработало :)
но блин предупреждать надо где-нить...
ну и проблема с Variants осталась.
под D7 программа с KOLComObj занимает кил на 5 больше, чем с ComObj :)
может пора сделать KolVariants ??
Страницы: 1 вся ветка
Текущий архив: 2004.11.14;
Скачать: CL | DM;
Память: 0.44 MB
Время: 0.036 c