2009-07-02 2 views
0

У меня есть следующие настройки:Кристалл XI Rel2 RDC Параметр Передача

  • Delphi 5 Enterprise Update 1 Кристалл
  • Reports Developer XI REL2 (RDC 11,5)

После долгих часов испытаний & Ошибка Теперь я могу установить материал для входа в систему как asked earlier, но когда я пытаюсь установить crystalparameters по коду - он не работает, и я получаю пустой отчет.

Я написал небольшое приложение для тестирования (вот только отрывок):

for i:=1 to FParamFldDefs.Count do begin 

    FParFldDef := FParamFldDefs.Item[i]; 
    FParFldDef.ClearCurrentValueAndRange; 

    if ParFieldName = 'User' then 
     FParFldDef.AddCurrentValue('hugo') 
    else if ParFieldName = '@P_Date' then 
     FParFldDef.AddCurrentValue('2009.06.30') 

    if FParFldDef.IsDefaultValueSet then 
     ShowMessage('DefaultValue: ' + FparFldDef.GetNthDefaultValue(1)); 
     //--> on loop 1 i=1 this does not show up because IsDefalutValueSet = FALSE 
     //--> on lopp 2 i=2 this does show '2009.06.30' 
    if FParFldDef.IsCurrentValueSet then 
     ShowMessage('CurrentValue: ' + FparFldDef.GetNthCurrentValue(1)); 
     //--> on loop 1 i=1 this does show 'hugo' 
     //--> on lopp 2 i=2 this does not show because IsCurrentValueSet = False 

end; 

ShowMessage(FldDef.SQLQueryString); //this shows all 
            //stored procedure parameters empty 

Теперь я сумел иметь CurrentValues ​​набор (должен был сохранить отчет в вопросе с версии 11 - это раньше была версия 9), потому что IsCurrentValueSet возвращает True, но когда я пытаюсь прочитать SQLQuereyString, я вижу, что все параметры SP имеют значение NULL. Любые идеи по этому поводу?

ответ

0

Я видел свет! Если кто-то, как я когда-либо получает приходится иметь дело с Delphi 5 и Кристал XI RDC - вот что я сделал:

Предпосылки:

  • у вас есть тонны старых Crystal Reports версии < 11,5
  • вам все равно придется использовать старые Delphi 5 приложений

Фирса всех, вы должны:

  1. Install Crystal Reporst Developer XI Rel2 (последний с поддержкой RDC и не беспокойтесь, его можно установить параллельно с существующей версией Crystal Reports (в моем случае это была версия 6)
  2. Импорт типов библиотек в Delphi (craxdrt.dll + CRViewer.dll)
  3. Откройте отчет в вопросе с Crystal Reports XI и сохранить его как версии XI
  4. Изменение любой базы данных Подключение к OLEDB

После того как вы сделал это вы можете использовать Joseph Styons wrapper class, и все в порядке. Если у вас тоже есть отчет, который получает данные из хранимой процедуры SQL, просто установите эти параметры (их имена начинаются с «@»), как и любой другой параметр Crystal.

Вот и все, я надеюсь, что это кому-то полезно.

Теперь я ухожу за пивом!

Приветствия, Reinhard

0

Формат даты может быть проблемой. Вы пробовали использовать 07/02/2009 или 07/02/2009 12:00?

+0

привет! dateformat должно быть ОК, потому что это то же самое, что и при входе в диалоговом окне параметров кристалла. теперь мне удалось установить «CurrentValue», потому что FparFldDef.GetNthCurrentValue (1) действительно появляется, но все же отчет возвращается пустым. – pastacool

Смежные вопросы