powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Crystal Report в Runtime
13 сообщений из 13, страница 1 из 1
Crystal Report в Runtime
    #33344087
Петров Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Народ что нужно чтобы перенести CR на другой компьютер. Использую только Viewer для просмотра отчетов ну и там всякие экспорты...
...
Рейтинг: 0 / 0
Crystal Report в Runtime
    #33344088
Петров Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, версия CR 9.
...
Рейтинг: 0 / 0
Crystal Report в Runtime
    #33345105
FantomGood
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я думаю поиск по форуму поможет
...
Рейтинг: 0 / 0
Crystal Report в Runtime
    #33347848
Петров Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю что вот это подойдет. http://]http://www.sql.ru/forum/actualthread.aspx?tid=157926&hl=crystal+runtime

Ну так а как насчет регистрации CrystalRuntime.Application

И регистрации ActiveX crviewer9.dll?
...
Рейтинг: 0 / 0
Crystal Report в Runtime
    #33348174
Если вы используете рунтайм, то о регистрации вам заботится не нужно.
Если переносите файлы простым копированем, то регистрации одной библиотеки crviewer9.dll будет не достаточно. Полный спиок файлов в доке.
Команда виндовс для регистрации:
regsrv32 имя_библиотеки
...
Рейтинг: 0 / 0
Crystal Report в Runtime
    #33351529
Петров Андрей
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RunTime не использую. Хочу
1) Скопировать файлы
2) Зарегистрировать их частично (кстати не RegSrv32 а RegSvr32)
3) Скопировать часть реестра отвечающую за CrystalRuntime.Application.

Так вот попорядку можно что как и где? В хелпе Runtime.chm нужную информацию не нашел...
...
Рейтинг: 0 / 0
Crystal Report в Runtime
    #33361939
AVGritsenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Применительно к вызову из powerbuilder

Версии 9-10 работает на 9 есть глюки с передачей параметров
10 ок Указанные файлы могут идти каки как компактная инсталляция

С 11 много хуже файлов брольше и изменений реестра приходится ставить почти все

Регистрация


RegistrySet( "HKEY_LOCAL_MACHINE\SOFTWARE\Crystal Decisions\9.0\Crystal Reports","CommonFiles", RegString!, strtran(work_dir+"\crpedll\",'\','\\'))
run("regsvr32 /s "+work_dir+"\crpedll\atl.dll")
run("regsvr32 /s "+work_dir+"\crpedll\crtslv.dll")
run("regsvr32 /s "+work_dir+"\crpedll\ExportModeller.dll")
run("regsvr32 /s "+work_dir+"\crpedll\crqe.dll")

--------Вызов это из приложения --------------

global type crpe from function_object
end type

forward prototypes
global function boolean crpe (string reportname, any arrarg[])
end prototypes

global function boolean crpe (string reportname, any arrarg[]);PETableLocation vLocation
peparameterfieldinfo vparaminfo
PEValueInfo vValInfo
PELogOnInfo vlogoninfo
PETableType vLibraryName
//if FILEEXISTS(work_dir+'\crpedll11\crpe32.dll') then
// ChangeDirectory ( WORK_DIR+'\crpedll11')
//else
ChangeDirectory ( WORK_DIR+'\crpedll')
//end if
//srring/ data /number
//sourcefile=WORK_DIR+'\template\'+template
//вставить в k_enter
//создать crystal print. потом передать в crpe olearrarg[1]
integer r,i,nPrintJob,n
string classname,s1,sourcefile,nullstr
any a[]

//переменная для присвоения null символьным массивам
setnull(nullstr)

//Проверка на наличие файла

if dw_from_db then
//sourcefile=WORK_DIR+'\tmp\'+reportname
sourcefile=reportname
else
sourcefile=WORK_DIR+'\template\'+reportname
end if

if not FileExists ( sourcefile ) then
messagebox('Внимание!','Отчет '+sourcefile+' не найден!')
return false
end if
pointer oldpointer
oldpointer=SetPointer(HourGlass!)


//Подключаемся к отчету
if PEOpenEngine() = false then
messagebox('Ошибка использования функций PEOpenEngine()','qwe')
return false
end if
nPrintJob=PEOpenPrintJOB(sourcefile)
if nPrintJob=0 then
messagebox('Ошибка nPrintJob',string(nPrintJob))
return false
end if
//Сравнение количества параметров отчета и количества переданных параметров
if (upperbound(arrarg[])-1)<>PEGetNParameterFields(nPrintJob) then
messagebox('Количество переданных параметров и аргументов отчета не равны', string(nPrintJob)+' '+string(upperbound(arrarg[])))
return false
end if

vValInfo.StructSize = 316
vParamInfo.StructSize=1438
for i=1 to upperbound(arrarg[]) -1
setnull(nullstr)
setnull(vValInfo.valuetype)
setnull(vValInfo.viNumber)
setnull(vValInfo.viCurrency)
setnull(vValInfo.viBoolean)
vValInfo.viString=nullstr
setnull(vValInfo.viDate[1])
setnull(vValInfo.viDate[2])
setnull(vValInfo.viDate[3])
setnull(vValInfo.viDateTime[1])
setnull(vValInfo.viDateTime[2])
setnull(vValInfo.viDateTime[3])
setnull(vValInfo.viDateTime[4])
setnull(vValInfo.viDateTime[5])
setnull(vValInfo.viDateTime[6])
setnull(vValInfo.viTime[1])
setnull(vValInfo.viTime[2])
setnull(vValInfo.viTime[3])
vValInfo.viColor=nullstr
setnull(vValInfo.viInteger)
setnull(vValInfo.viC)
setnull(vValInfo.ignored)
setnull(vValInfo.viLong)

//Запрос информации о параметре
if PEGetNthParameterField(nPrintJob, i - 1, vParamInfo) = false then
//Теперь информация о параметре содержится в стракте ParamInfo
messagebox('Ошибка получения информации о параметре - ',string(i))
return false
end if
//Удаление текущих значений для параметра
if PEClearParameterCurrentValuesAndRanges(nPrintJob,vParamInfo.name,vParamInfo.reportName) = false then
messagebox('Ошибка удаления текущих значений параметра ',vParamInfo.name)
end if


classname = classname(arrarg )
if upperbound (arrarg) = -1 then
choose case classname
case 'integer','long','double'
//Для аргуметов отчета number
vValInfo.valueType = 0
vValInfo.viNumber = arrarg
if PEAddParameterCurrentValue(nPrintJob,vParamInfo.name,vParamInfo.reportName,vvalinfo)=false then
messagebox('Ошибка добавления текущего значения для параметра ',vParamInfo.name)
end if
//Для аргуметов отчета date
case 'date'
vValInfo.valueType = 3
vValInfo.viDate[1] = Year(arrarg)
vValInfo.viDate[2] = Month(arrarg)
vValInfo.viDate[3] = day(arrarg)
if PEAddParameterCurrentValue(nPrintJob,vParamInfo.name,vParamInfo.reportName,vvalinfo)=false then
messagebox('Ошибка добавления текущего значения для параметра ',vParamInfo.name)
end if
//Для аргуметов отчета string
case 'string'
vValInfo.valueType = 4
vValInfo.vistring = string(arrarg)
if PEAddParameterCurrentValue(nPrintJob,vParamInfo.name,vParamInfo.reportName,vvalinfo)=false then
messagebox('Ошибка добавления текущего значения для параметра ',vParamInfo.name)
end if
case else
messagebox('Ошибка соответствия типа аргумемента ',classname)
return false
end choose
else
//Обработка массивов
a = arrarg
if upperbound(arrarg)>1009 then
messagebox('Внимание!','Допустимое кол-во значений в списке 1009 превышено '+ string(upperbound(arrarg))+' !' )
return false
end if
choose case classname
case 'integer','long','double'
//Цикл Для аргуметов отчета массива number
for n=1 to upperbound(arrarg)
vValInfo.valueType = 0
vValInfo.viNumber = a[n]
if PEAddParameterCurrentValue(nPrintJob,vParamInfo.name,vParamInfo.reportName,vvalinfo)=false then
messagebox('Ошибка добавления текущего значения для параметра ',vParamInfo.name)
end if
next
//Цикл Для аргуметов отчета массива string
case 'string'
for n=1 to upperbound(arrarg)
vValInfo.valueType = 4
vValInfo.vistring = string(a[n])
if PEAddParameterCurrentValue(nPrintJob,vParamInfo.name,vParamInfo.reportName,vvalinfo)=false then
messagebox('Ошибка добавления текущего значения для параметра ',vParamInfo.name)
end if
next
case else
messagebox('Ошибка соответствия типа аргумемента ',classname)
return false
end choose


end if
next

//Не пашет
//vLocation.StructSize=1026
//vLocation.ConnectBuffer = 'driver=Flex;SuppressWarnings=Yes;eng=rial;dbn=rial'
//vLocation.ConnectBuffer[1] = 'd'
//vLocation.ConnectBuffer[2] = 'r'
//vLocation.ConnectBuffer[3] = 'i'
//PESetNthTableLocation(nPrintJob,0,vLocation)

/*

vLibraryName.StructSize=324
if PEGetNthTableType(nPrintJob, 0, vLibraryName)=false then
messagebox('Ошибка t',string(nPrintJob))
end if
messagebox('Ошибка test1',vLibraryName.dllname)
messagebox('Ошибка test2',vLibraryName.descriptivename)


vLogOnInfo.StructSize=514
if PEGetNthTableLogOnInfo(nPrintJob,0,vLogOnInfo) = false then
messagebox('Ошибка получения параметров соединения',string(nPrintJob))
end if
messagebox('Ошибка test11',vLogOnInfo.servername)
messagebox('Ошибка test22',vLogOnInfo.databasename)


if PELogOffServer(vLibraryName.dllname,vlogoninfo) then
messagebox('error1',vlogoninfo.databasename)
end if
//
*/
//Crystal Report C:\Program Files\Common Files\Business Objects\3.0\bin\crdb_odbc.dll
if not PELogOnSQLServerWithPrivateInfo('crdb_odbc.dll',sqlca.DBHandle()) then
messagebox('Внимание!','Ошибка подключения к базе данных!')
end if


/*
//не пашет почемуто
//vLibraryName.dllname = 'crdb_odbc.dll' + fill(char(0),64 - len('crdb_odbc.dll'))
vLibraryName.dllname = 'crdb_odbc.dll' // + fill(char(0),64 - len('crdb_odbc.dll'))

vlogoninfo.StructSize=514
vlogoninfo.servername = 'rial' + fill(char(0),128 - len('rial'))
vlogoninfo.databasename = 'rial' + fill(char(0),128 - len('rial'))
vlogoninfo.userid = 'dba' + fill(char(0),128 - len('dba'))
vlogoninfo.password = 'prelude1' + fill(char(0),128 - len('prelude1'))



if PELogOnServer (vLibraryName.dllname,vlogoninfo) then
messagebox('error2',vlogoninfo.databasename)
end if
if PESetNthTableLogOnInfo(nPrintJob, 0, vLogOnInfo, true) = false then
messagebox('осшибка',vlogoninfo.databasename)
end if

*/
if PEOutputToWindow(nPrintJob, reportname, 600, 600, 400, 400, 16777216+65536+131072+524288, 0) = false then
messagebox('Ошибка',string(nPrintJob))
end if
if PEStartPrintJob(nPrintJob, True) = false then
messagebox('Ошибка вывода отчета',string(nPrintJob))
end if
SetPointer(Arrow!)
return true
end function


--------------структуры
global type parameterfieldinfo from structure
unsignedinteger structsize
unsignedinteger valuetype
unsignedinteger defaultvalueset
unsignedinteger currentvalueset
character name[256]
character prompt[256]
character defaultvalue[256]
character currentvalue[256]
character reportname[128]
unsignedinteger needscurrentvalue
end type
global type pelogoninfo from structure
unsignedinteger structsize
character servername[128]
character databasename[128]
character userid[128]
character password[128]
end type

global type peparameterfieldinfo from structure
unsignedinteger structsize
unsignedinteger valuetype
unsignedinteger defaultvalueset
unsignedinteger currentvalueset
character name[256]
character prompt[256]
character defaultvalue[256]
character currentvalue[256]
character reportname[128]
unsignedinteger needscurrentvalue
unsignedinteger islimited
double minsize
double maxsize
character editmask[256]
unsignedinteger ishidden
end type

global type petablelocation from structure
unsignedinteger StructSize
string Location[256]
string SubLocation[256]
string ConnectBuffer[512]
end type

global type petabletype from structure
unsignedinteger structsize
character dllname[64]
character descriptivename[256]
unsignedinteger dbtype
end type

global type pevalueinfo from structure
unsignedinteger structsize
unsignedinteger valuetype
double vinumber
double vicurrency
long viboolean
character vistring[256]
unsignedinteger vidate[3]
integer vidatetime[6]
integer vitime[3]
character vicolor[8]
integer viinteger
character vic
integer ignored
long vilong
end type




---------- функции
// Crystal Report
Function integer PEOpenPrintJob(string reportFilePath) LIBRARY "crpe32.dll"
Function BOOLEAN PEOpenEngine() LIBRARY "crpe32.dll"
Function BOOLEAN PEOutputToWindow(integer printJob, string title, int left, int top,int width,int height, long style, long pWindow) LIBRARY "crpe32.dll"
Function BOOLEAN PEStartPrintJob(integer printJob, BOOLEAN waitUntilDone) LIBRARY "crpe32.dll"
Function integer PEGetNParameterFields(integer printJob) LIBRARY "crpe32.dll"
function boolean PEGetNthParameterField(integer printJob,integer nparnum, REF peparameterfieldinfo vparaminfo) LIBRARY "crpe32.dll"
Function integer PEGetNParameterDefaultValues(integer printJob,string parameterFieldName,string reportName) LIBRARY "crpe32.dll"
function boolean PEDeleteNthParameterDefaultValue(integer printJob,string parameterFieldName,string reportName,int index) LIBRARY "crpe32.dll"
function boolean PEAddParameterDefaultValue(integer printJob,string parameterFieldName,string reportName,PEValueInfo valueInfo) LIBRARY "crpe32.dll"
function boolean PEGetNthParameterDefaultValue(integer printJob,string parameterFieldName,string reportName,int index,REF PEValueInfo valueInfo) LIBRARY "crpe32.dll"
function boolean PESetParameterValueInfo(integer printJob,string parameterFieldName,string reportName,PEValueInfo valueInfo) LIBRARY "crpe32.dll"
function boolean PESetNthParameterValueDescription(integer printJob,string parameterFieldName,string reportName,int index,string valueDesc) LIBRARY "crpe32.dll"
function boolean PESetNthParameterField(integer printJob,int parameterN,peparameterfieldinfo vparaminfo) LIBRARY "crpe32.dll"
function boolean PEAddParameterCurrentValue(integer printJob,string parameterFieldName,string reportName,PEValueInfo valueInfo) LIBRARY "crpe32.dll"
function boolean PEClearParameterCurrentValuesAndRanges(integer printJob,string parameterFieldName,string reportName) LIBRARY "crpe32.dll"
function boolean PESetNthTableLocation(integer printJob,integer tableN, PETableLocation vlocation) LIBRARY "crpe32.dll"
function boolean PEGetNthTableLogOnInfo(integer printJob,integer tableN,REF PELogOnInfo vLogOnInfo) LIBRARY "crpe32.dll"
function boolean PEGetNthTableType(integer printJob,integer tableN,REF PETableType vLibraryName) LIBRARY "crpe32.dll"
function boolean PELogOnServer(string dllname,PELogOnInfo vlogOnInfo) LIBRARY "crpe32.dll"
function boolean PELogOffServer(string dllname,PELogOnInfo vlogOnInfo) LIBRARY "crpe32.dll"
function boolean PESetNthTableLogOnInfo(integer printJob,integer tableN,PELogOnInfo vLogOnInfo,boolean propagateAcrossTables) LIBRARY "crpe32.dll"
function boolean PELogOnSQLServerWithPrivateInfo(String DLLName,long PrivateInfo) LIBRARY "crpe32.dll"



Список файлов


07.04.2000 07:09 73 785 atl.dll
15.07.2002 10:44 373 836 crdb_odbc.dll
15.07.2002 12:33 5 787 708 crpe32.dll
06.07.2002 10:44 1 417 289 crqe.dll
05.07.2002 14:14 24 576 crtowords_en.dll
05.07.2002 15:12 30 793 crtslv.dll
12.07.2002 20:30 90 112 crxf_html.dll
12.07.2002 20:27 389 175 crxf_pdf.dll
12.07.2002 20:27 163 895 crxf_rtf.dll
12.07.2002 20:27 163 897 crxf_wordw.dll
12.07.2002 20:28 405 571 crxf_xls.dll
05.07.2002 11:10 671 801 exlate32.dll
12.07.2002 20:26 495 688 ExportModeller.dll
02.12.1996 10:00 18 944 Implode.dll
05.07.2002 10:50 163 911 querybuilder.dll
27.06.2002 01:00 1 273 856 sscsdk80.dll
12.07.2002 20:32 53 248 u2dapp.dll
12.07.2002 20:32 49 152 u2ddisk.dll
12.07.2002 20:33 118 784 u2dpost.dll
12.07.2002 20:31 77 824 u2fcr.dll
12.07.2002 20:32 135 168 u2fsepv.dll
12.07.2002 20:30 155 648 u2ftext.dll
12.07.2002 20:29 233 472 u2fxml.dll
17.07.2002 01:37 225 280 ufmanager.dll
24.04.2002 00:30 237 936 unicows.dll
26 файлов 12 831 349 байт
...
Рейтинг: 0 / 0
Crystal Report в Runtime
    #33605230
Дмитрий81
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Надо: запустить делфовое приложение, которое работает с CR отчетами с помощью CristalReport VCl компоненты. При этом не устанавливать на машине CR. Использую Cristal Report 10й версии

Как я понял из прочитанного, для этого необходимо скопировать следующие файлы в определенный каталог:
atl.dll
crtslv.dll
ExportModeller.dll
crqe.dll

Затем прописать в этом ключе реестра путь к этому каталогу
HKEY_LOCAL_MACHINE\SOFTWARE\Crystal Decisions\9.0(10.0)\Crystal Reports-"CommonFiles"

Затем зарегистрировать файлы с помощью regsvr32

Все это выполняю, но у меня не регистрируется crqe.dll выдает ошибку "Specified module could not be found"

Объясните в чем дело
...
Рейтинг: 0 / 0
Crystal Report в Runtime
    #33608304
Dmvrt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Использую Crystal Report 8.5
Пользователям ставлю следующие библиотеки.
Cdo32.dll, crpe32.dll, crtslv.dll,
ExportModeller.dll, Rule1.dfa, Rule1.llr, s2sqlprs.dll
cpeaut32.dll, Crpaig80.dll, Implode.dll, p2bdao.dll,
p2ctdao.dll, p2irdao.dll, p2p.dll, p2pgasvc.dll, p2pgraph.dll
p2pnetsh.dll, p2psvc.dll, P2smon.dll, p2sodbc.dll, pg32conv.dll,
sscsdk80.dll
Плюс каталог X:\windows\Crystal
Регистрирую следующие библиотеки
crtslv.dll, ExportModeller.dll, s2sqlprs.dll, Cdo32.dll
Все работает. У пользователей и программистов претензий нет
...
Рейтинг: 0 / 0
Crystal Report в Runtime
    #33644263
Фотография kkv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmvrtИспользую Crystal Report 8.5
Пользователям ставлю следующие библиотеки.
Cdo32.dll, crpe32.dll, crtslv.dll,
ExportModeller.dll, Rule1.dfa, Rule1.llr, s2sqlprs.dll
cpeaut32.dll, Crpaig80.dll, Implode.dll, p2bdao.dll,
p2ctdao.dll, p2irdao.dll, p2p.dll, p2pgasvc.dll, p2pgraph.dll
p2pnetsh.dll, p2psvc.dll, P2smon.dll, p2sodbc.dll, pg32conv.dll,
sscsdk80.dll
Плюс каталог X:\windows\Crystal
Регистрирую следующие библиотеки
crtslv.dll, ExportModeller.dll, s2sqlprs.dll, Cdo32.dll
Все работает. У пользователей и программистов претензий нет
А при использовании Crystal Report 11 такой же порядок действий или же есть существенные отличия?

Я просто не стал открывать отдельный топик, т.к. здесь поднимается абсолютно та же самая задача, разница только в версиях CR. Хотелось бы где-нибудь найти пошаговую инструкцию о том что именно, как и какие библиотеки нужно подключать применительно именно к одиннадцатой версии CR.

С уважением, kkv
...
Рейтинг: 0 / 0
Crystal Report в Runtime
    #33647924
Dmvrt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kkvХотелось бы где-нибудь найти пошаговую инструкцию о том что именно, как и какие библиотеки нужно подключать применительно именно к одиннадцатой версии CR.
Я не ставил себе Crystal 11, поэтому не могу точно сказать,
какой порядок установки библтотек Crystal 11. Слышал что вроде бы
в 11 версии появилась установка Run Time, может и ошибаюсь.
А по поводу библиотек, сегодня взял дистрибутив Crystal 10,
открыл каталог Docs и там нашел файл runtime.txt.
В этом файле расписаны все библиотеки которые нужны и разрешены для
режима Run time.
Остлось выбрать те файлы, которые нужны именно Вам (либо ставить все).
А какие из них нужно регистрировать узнать не трудно.
...
Рейтинг: 0 / 0
Crystal Report в Runtime
    #33647932
Dmvrt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В догонку
Раз в 10 версии есть этот перечень библиотек,
то и в 11-ой скорее всего присутствует.
...
Рейтинг: 0 / 0
Crystal Report в Runtime
    #34144684
kika
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DmvrtИспользую Crystal Report 8.5
Пользователям ставлю следующие библиотеки.
Cdo32.dll, crpe32.dll, crtslv.dll,
ExportModeller.dll, Rule1.dfa, Rule1.llr, s2sqlprs.dll
cpeaut32.dll, Crpaig80.dll, Implode.dll, p2bdao.dll,
p2ctdao.dll, p2irdao.dll, p2p.dll, p2pgasvc.dll, p2pgraph.dll
p2pnetsh.dll, p2psvc.dll, P2smon.dll, p2sodbc.dll, pg32conv.dll,
sscsdk80.dll
Плюс каталог X:\windows\Crystal
Регистрирую следующие библиотеки
crtslv.dll, ExportModeller.dll, s2sqlprs.dll, Cdo32.dll
Все работает. У пользователей и программистов претензий нет

Получается, что устанавливать сам Crystal Reports 11 на сервере не нужно (если это веб-приложение)??? Просто зарегистировать нужные библиотеки?
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / Crystal Report в Runtime
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]