|
Crystal Report в Runtime
|
|||
---|---|---|---|
#18+
Народ что нужно чтобы перенести CR на другой компьютер. Использую только Viewer для просмотра отчетов ну и там всякие экспорты... ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2005, 09:26 |
|
Crystal Report в Runtime
|
|||
---|---|---|---|
#18+
Да, версия CR 9. ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2005, 09:27 |
|
Crystal Report в Runtime
|
|||
---|---|---|---|
#18+
я думаю поиск по форуму поможет ... |
|||
:
Нравится:
Не нравится:
|
|||
26.10.2005, 14:34 |
|
Crystal Report в Runtime
|
|||
---|---|---|---|
#18+
Думаю что вот это подойдет. http://]http://www.sql.ru/forum/actualthread.aspx?tid=157926&hl=crystal+runtime Ну так а как насчет регистрации CrystalRuntime.Application И регистрации ActiveX crviewer9.dll? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2005, 15:11 |
|
Crystal Report в Runtime
|
|||
---|---|---|---|
#18+
Если вы используете рунтайм, то о регистрации вам заботится не нужно. Если переносите файлы простым копированем, то регистрации одной библиотеки crviewer9.dll будет не достаточно. Полный спиок файлов в доке. Команда виндовс для регистрации: regsrv32 имя_библиотеки ... |
|||
:
Нравится:
Не нравится:
|
|||
27.10.2005, 16:40 |
|
Crystal Report в Runtime
|
|||
---|---|---|---|
#18+
RunTime не использую. Хочу 1) Скопировать файлы 2) Зарегистрировать их частично (кстати не RegSrv32 а RegSvr32) 3) Скопировать часть реестра отвечающую за CrystalRuntime.Application. Так вот попорядку можно что как и где? В хелпе Runtime.chm нужную информацию не нашел... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2005, 08:56 |
|
Crystal Report в Runtime
|
|||
---|---|---|---|
#18+
Применительно к вызову из 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 байт ... |
|||
:
Нравится:
Не нравится:
|
|||
04.11.2005, 16:40 |
|
Crystal Report в Runtime
|
|||
---|---|---|---|
#18+
Надо: запустить делфовое приложение, которое работает с 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" Объясните в чем дело ... |
|||
:
Нравится:
Не нравится:
|
|||
16.03.2006, 13:38 |
|
Crystal Report в Runtime
|
|||
---|---|---|---|
#18+
Использую 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 Все работает. У пользователей и программистов претензий нет ... |
|||
:
Нравится:
Не нравится:
|
|||
17.03.2006, 14:56 |
|
Crystal Report в Runtime
|
|||
---|---|---|---|
#18+
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 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.04.2006, 17:28 |
|
Crystal Report в Runtime
|
|||
---|---|---|---|
#18+
kkvХотелось бы где-нибудь найти пошаговую инструкцию о том что именно, как и какие библиотеки нужно подключать применительно именно к одиннадцатой версии CR. Я не ставил себе Crystal 11, поэтому не могу точно сказать, какой порядок установки библтотек Crystal 11. Слышал что вроде бы в 11 версии появилась установка Run Time, может и ошибаюсь. А по поводу библиотек, сегодня взял дистрибутив Crystal 10, открыл каталог Docs и там нашел файл runtime.txt. В этом файле расписаны все библиотеки которые нужны и разрешены для режима Run time. Остлось выбрать те файлы, которые нужны именно Вам (либо ставить все). А какие из них нужно регистрировать узнать не трудно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2006, 09:02 |
|
Crystal Report в Runtime
|
|||
---|---|---|---|
#18+
В догонку Раз в 10 версии есть этот перечень библиотек, то и в 11-ой скорее всего присутствует. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.04.2006, 09:08 |
|
Crystal Report в Runtime
|
|||
---|---|---|---|
#18+
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 на сервере не нужно (если это веб-приложение)??? Просто зарегистировать нужные библиотеки? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.11.2006, 17:44 |
|
|
start [/forum/topic.php?fid=31&fpage=145&tid=1538496]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
32ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
84ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 171ms |
0 / 0 |