![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как передать данные в CRReport.PrintOut [D7, XP]
Сергей © (2009-11-02 13:27:00)Всем привет.
Использую RAD Кристал Репорт 11.5.
Не могу передать в startPage или stopPage значение больше чем 32000
CRReport.PrintOut(false,1,true,startPage,stopPage) пишет - Некорретный параметр.
procedure PrintOut(promptUser: OleVariant; numberOfCopy: OleVariant; collated: OleVariant; startPageN: OleVariant; stopPageN: OleVariant); safecall;
Интересно то что если вызывать эту функцию с окном для ввода параметров печати - принимает без проблем если ввести параметры вручную в edit диапазона печати, но программно без окна не хочет.
clickmaker (2009-11-02 18:16:00) [1]> [5] Сергей (02.11.09 14:26)
там один метод, что-ли - PrintOut?
и никаких свойств и настроек?
Сергей (2009-11-02 14:26:00) [2]clickmaker,
В модуле unit CRAXDDRT_TLB;
IReport = interface(IDispatch)
procedure TReport.PrintOut(promptUser: OleVariant; numberOfCopy: OleVariant; collated: OleVariant; startPageN: OleVariant; stopPageN: OleVariant);
begin
DefaultInterface.PrintOut(promptUser, numberOfCopy, collated, startPageN, stopPageN);
end;
В unit System
type
IInterface = interface
['{00000000-0000-0000-C000-000000000046}']
function QueryInterface(const IID: TGUID; out Obj): HResult; stdcall;
function _AddRef: Integer; stdcall;
function _Release: Integer; stdcall;
end;
IUnknown = IInterface;
{$M+}
IInvokable = interface(IInterface)
end;
{$M-}
IDispatch = interface(IUnknown)
['{00020400-0000-0000-C000-000000000046}']
function GetTypeInfoCount(out Count: Integer): HResult; stdcall;
function GetTypeInfo(Index, LocaleID: Integer; out TypeInfo): HResult; stdcall;
function GetIDsOfNames(const IID: TGUID; Names: Pointer;
NameCount, LocaleID: Integer; DispIDs: Pointer): HResult; stdcall;
function Invoke(DispID: Integer; const IID: TGUID; LocaleID: Integer;
Flags: Word; var Params; VarResult, ExcepInfo, ArgErr: Pointer): HResult; stdcall;
end;
.... Все что нашел... Как найти исходник?
Dennis I. Komarov (2009-11-02 14:00:00) [3]>32000 - плохие числа,
давай 32767 передадим?
clickmaker (2009-11-02 13:54:00) [4]так, а исходники-то CRReport.PrintOut есть?
или может, в CR есть какой-то хитрый глобальный параметр/настройка, типа MaxPageCount
Сергей (2009-11-02 13:36:00) [5]программа для типографии. Кстати можно ли вызвать api функции печати и использовать ее под кристал?
clickmaker (2009-11-02 13:29:00) [6]> startPage или stopPage значение больше чем 32000
сильно. а бумаги-то хватит?