-
Использовал:
kol_3.00M
ActiveKOLG
kol_errG
в других версиях выходят ошибки:
<error text>
[Pascal Error] ActiveKOL.pas(203): E2211 Declaration of 'OleInPlaceFrame_TranslateAccelerator' differs from declaration in interface 'IOleInPlaceFrame'
[Pascal Error] ActiveKOL.pas(416): E2065 Unsatisfied forward or external declaration: 'TOleServer.InitServerData'
[Pascal Error] ActiveKOL.pas(441): E2065 Unsatisfied forward or external declaration: 'TOleServer.Connect'
[Pascal Error] ActiveKOL.pas(442): E2065 Unsatisfied forward or external declaration: 'TOleServer.Disconnect'
[Pascal Fatal Error] Project1.dpr(4): F2063 Could not compile used unit 'ActiveKOL.pas'
</error text>
на этапе проверки лицензии падает.
begin
if (FControlData^.LicenseKey <> nil) then
begin
OleCheck(CoGetClassObject(FControlData^.ClassID, CLSCTX_INPROC_SERVER or
CLSCTX_LOCAL_SERVER, nil, IClassFactory2, ClassFactory2));
LicKeyStr := PWideChar(FControlData^.LicenseKey);
LicenseCheck(ClassFactory2.CreateInstanceLic(nil, nil, IOleObject,
LicKeyStr, FOleObject), SInvalidLicense);
end else
LicenseCheck(CoCreateInstance(FControlData^.ClassID, nil,
CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER, IOleObject,
FOleObject), SNotLicensed);
end;
procedure LicenseCheck(Status: HResult; const Ident: string);
begin
if Status = CLASS_E_NOTLICENSED then
...
https://yadi.sk/d/8fsS0xMCpDS25 -
NoUser © (23.02.16 16:28) [1]Собрал со 'своей' версией KOL,
подправил:procedure TPDF.CreateControl;
procedure DoCreate;
begin
// FIntf := IUnknown(OleObject) as _DPdf;
FIntf := _DPdf(IUnknown(OleObject));
end;
begin
if FIntf = nil then DoCreate;
end;
pdf-ка открылась.
https://yadi.sk/d/fpKcWnmGpMbcU -
В Хр ошибка https://yadi.sk/i/61hf32INpNEH9
и на 7ке даёт тоже ошибку даёт. ( -
NoUser © (23.02.16 23:15) [3]>тоже ошибку даёт
Стесняюсь спросить, а Adobe Reader какой-нить у тебя установлен?
Не проверял на XP, но на 7W32, 7W64, 2K8, 2K12 полет нормальный.
P.S.
Запустил на EeePC(7W32) - упало.
( думаю что-то с err.pas - я его под x64 подкручивал )
Понатыкал OutputDebugString - попал в ...LicenseCheck(CoCreateInstance(FControlData^.ClassID, nil, LSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER, IOleObject, FOleObject), NotLicensed);
//
procedure LicenseCheck(Status: HResult; const Ident: string);
begin
if Status = CLASS_E_NOTLICENSED then
raise EOleError.CreateFmt(e_Ole, Ident, [SubClassName]); // ага!
OleCheck(Status); // ы?
end;
Установил Adobe Reader XI
Биного )) -
Dimaxx © (23.02.16 23:19) [4]https://sourceforge.net/projects/lazarus-ccr/files/PowerPDF/
не требует наличия акробата. Но требует переделки... -
> Установил Adobe Reader XI
> Биного ))
Спасибо теперь ясно чего он у меня не хотел "фурычить". Для просмотра я обычно использую STDU Viewer (STDUtility) а про Adobe Reader и не вспоминаю N так время. Уж больного долго приходилось ждать загрузки одно документа для просмотра.
> https://sourceforge.net/projects/lazarus-ccr/files/PowerPDF/
> не требует наличия акробата. Но требует переделки...
Будет смотреть в этом направлении.
Всем большое спасибо!!! Буду разбираться. -
> не требует наличия акробата. Но требует переделки...
to Dimaxx можно по точнее "за что хвататься"? А то в архиве всего навалом. -
Dimaxx © (04.03.16 13:01) [7]Смотреть примеры использования и от используемых модулей отталкиваться. У меня до него еще руки не дошли. Скачал мимоходом, а тут упомянули пдф и вспомнил про него.