WWW.ИСХОДНИКИ.РУ cpp.sources.ru
java.sources.ru web.sources.ru soft.sources.ru
jdbc.sources.ru asp.sources.ru api.sources.ru

  Форум на исходниках
  Delphi
  Delphi and Crystal Reports

СПРОСИТЬ  ОТВЕТИТЬ
профайл | регистрация | faq

Автор Тема:   Delphi and Crystal Reports
AlexanderP опубликован 02-11-2000 17:56 MSK   Click Here to See the Profile for AlexanderP   Click Here to Email AlexanderP  
Проблема заключается в следующем:
Строится отчет при помощи Crystal Reports 8.0. В качестве SQL / ODBC источника данных выбирается хранимая процедура сервера InterBase 5.0. Процедура имеет входные параметры.
Созданный отчет должен включаться в приложение, написанное на Borland Delphi 5.0. при помощи модуля Crystal Reports Print Engine API через вызовы функций CRPE32.DLL, модуля CRDelphi.pas. Необходимо передать параметры в отчет. Для этого сначала нужно подключиться к серверу. Выполняется следующий код:

var
RepNam:PChar;
JN:Word;
LogInfo : PELogOnInfo;
pDllName : array[0..255] of Char;
sServerName,
sDatabaseName,
sUserId,
sPassword,
sDllName : string;

PEOpenEngine;
RepNam := StrAlloc(80);
StrPCopy(RepNam, 'C:\Tafoil\Report\OneMes_Real.rpt');
JN := PEOpenPrintJob(RepNam);
if JN = 0 then
begin
ShowMessage('Ошибка открытия отчета');
end;
LogInfo.StructSize := SizeOf(PELogOnInfo);
sServerName := 'ALMET';
sDatabaseName := 'C:\Tafoil\BD\Tabl9.gdb';
sUserId := 'SYSDBA';
sPassword := '1';
sDllName := 'PDSODBC.DLL';

StrPCopy(@LogInfo.ServerName, sServerName);
StrPCopy(@LogInfo.DatabaseName, sDatabaseName);
StrPCopy(@LogInfo.UserID, sUserId);
StrPCopy(@LogInfo.Password, sPassword);
StrPCopy(pDllName, UpperCase(sDllName));

if not PELogOnServer(pDllName, LogInfo) then
ShowMessage('Ошибка подсоединения к серверу '+IntToStr(PEGetErrorCode(JN)));

При выполнении PELogOnServer(pDllName, LogInfo) выполняется условие и выдается код ошибки 0. Текстовое представление этой ошибки есть PE_ERR_NOERROR (т.е ошибки нет ?). Подключения к серверу не происходит и дальнейшие попытки передать параметры отчету вызывают ошибку PE_ERR_SQLSERVERNOTOPENED.
Тот же код выполняется корректно, если используется Crystal Reports 7.0.
Что может вызывать ошибку подсоединения к серверу?. Может быть должна быть указана другая *. DLL? Если да, то какая (пробовали CRPE32.DLL, p2lodbc.dll, p2sodbc.dll, Pdsodbc.dll, u2fodbc.dll)? Возможно есть другие причины. Заранее спасибо, если сможете помочь.

СПРОСИТЬ  ОТВЕТИТЬ
Перейти:


E-mail | WWW.ИСХОДНИКИ.RU

Powered by: Ultimate Bulletin Board, Freeware Version 5.10a
Purchase our Licensed Version- which adds many more features!
© Infopop Corporation (formerly Madrona Park, Inc.), 1998 - 2000.