-
Может кто знает подскажите. Установил на 5 версию KOLReport. Начал изучать Demo версию DemoKOLReport сам Report работает а вот после обращения к KOLPageSetupDialog приложение валится. Отладка показала что в unit KOLPrinters в программе procedure TPrinter.Assign(Source : PPrinterInfo); после выполнения строки fhDC:=CreateDC(PChar(fDriver),PChar(fDevice),PChar(fPort),fDeviceMode); fhDC становится равным 0. И последующая работа с таким дескриптором приводит к краху. Переменные fDriver, fDevice, fPort - получили корректные значения. Проверить корректность fDeviceMode не знаю как. Кто нибудь знает как это все исправить? Кто нибудь работает с KOLReport?
-
пробовал его недавно, вроде работало всё
-
Может быть из за того что принтер сетевой?
-
Я вот вспомнил, что у меня тоже падало... пока на автомате не исправил одну функцию. Попробуй этот вариант http://slil.ru/25879594хотя мб и из-за сетевого.. я вообще на виртуальном тестил =)
-
Скачал твою версию программы Printer.pas не помогло. Где не помнишь вносил изменения? Пытаюсь заставить работать хотя бы Demo версию под Delphi 5 в XP. Сам Report вроде все печатает но стоит в Просмотре вызвать Setup и изменить хотя бы ориентачию бумаги как при возврате приложение валится. Отладка показала что в Printer.Assign DC принтера становится =0. Посмотрел параметры вроде все нормально. Если получить DC чуть раньше в KOLPageSetupDialog (убрав if) то при тех же параметрах возвращается DC<>0. Ничего не могу понять.
-
-
хм.. даже не знаю какую версию юзал я. Помню добавил где то проверку на Assigned, но уже не помню где.. без нее у меня при печати на вирт. принтер падало
-
Дмитрий взял программу по твоей ссылке там версия 1.4 и результат работы тот же. Если есть у тебя версия 1.5 дай пожалуйста. У автора диалога по английски написано что есть недостаток и возвращается недействительный DC.
-
-
Работать эту галиматью я все же заставил. Только DC пришлось брать в Диалоге а не в принтере. Если кого заинтересует подскажу. Выход конечно странный но что поделаешь если Win имеет такие API.
|