Гость
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / После добавления PEParameterFieldInfo при генерации отчета получаю ошибку. / 2 сообщений из 2, страница 1 из 1
17.11.2005, 18:07
    #33385093
EvgeniyIshchenko
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После добавления PEParameterFieldInfo при генерации отчета получаю ошибку.
Отчет экспортируется с помощью API функций:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
void __fastcall TMainForm::BitBtn1Click(TObject *Sender)

{

  //Path to report
  String path = "c:\\rep_test1.rpt";
  //Job for print
  short Job = PEOpenPrintJob(path.c_str());
  if (!Job)
    {
    ShowMessage("не найден "+path+", "+Job);
    return;
    }

   /*//Немного другое присвоение переменным отчета значений
        
    PEParameterFieldInfo info;
    PEParameterFieldInfo  *ptrInfo = &info;
    PEGetNthParameterField(Job, 0, (struct PEParameterFieldInfo *) &info);

    PEValueInfo valInfo;
    valInfo.StructSize=PE_SIZEOF_VALUE_INFO;
    valInfo.valueType = PE_VI_NUMBER;

    int linumb;
    valInfo.viNumber = linumb;

    PEConvertVInfoToPFInfo( &valInfo, &info.ValueType, info.CurrentValue );

    info.DefaultValueSet=FALSE;
    info.CurrentValueSet=TRUE;

    PESetNthParameterField(Job,  0, &info );
   */
   
// Начало присвоение переменным отчета значений
// Если кусок присвоения выкинуть, все работает. Где в нем ошибка
    PEParameterFieldInfo ParameterFieldInfo;
    ParameterFieldInfo.StructSize = PE_SIZEOF_PARAMETER_FIELD_INFO;

    short nparams = PEGetNParameterFields(Job);
    for(short i= 0 ; i<nparams; i++)
      {
      if (!PEGetNthParameterField (Job, i, &ParameterFieldInfo))
        {
        MainForm->ShowError(Job);
        break;
        }

      if (strcmp(ParameterFieldInfo.Name,"@Test1") ==  0 )
        {
        ParameterFieldInfo.CurrentValueSet =  1 ;
        double tdoc_id =  100 ;
        memcpy(ParameterFieldInfo.CurrentValue, &tdoc_id, sizeof(tdoc_id));        
        if (!PESetNthParameterField(Job, i, &ParameterFieldInfo))
          MainForm->ShowError(Job);
        }
      }

//Конец присвоения переменным отчета значений
      
  //Variables for Export to RTF
  UXDDiskOptions DiskOptions;
  UXFERTFFormatOptions SeparationOptions;
  PEExportOptions ExportOptions;

  //Structure for info output file
  DiskOptions.structSize = UXDDiskOptionsSize;
  DiskOptions.fileName = "c:\\samplefile.rtf";

  ExportOptions.StructSize = PE_SIZEOF_EXPORT_OPTIONS;
  lstrcpy(ExportOptions.formatDLLName, "CRXF_RTF.DLL");
  ExportOptions.formatType = UXFRichTextFormatType;
  ExportOptions.formatOptions = &SeparationOptions;
  strcpy(ExportOptions.destinationDLLName, "U2DDISK.DLL");
  ExportOptions.destinationType = UXDDiskType;
  ExportOptions.destinationOptions = &DiskOptions;
  //For export
  PEExportTo(Job, &ExportOptions);

  //Start Export to file
  if (!PEStartPrintJob(Job, true))
     ShowError(Job);  // ошибка появляется в этом месте, текст ошибки
                            //  3-4 нечитаемых символа 
  //Close Job
  PEClosePrintJob(Job);
}


PS Также отчет перестает работать если данную ф-ю вызвать из другой функции Проблемы с вызовом функции.
...
Рейтинг: 0 / 0
26.03.2006, 19:05
    #33625918
Роман22
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
После добавления PEParameterFieldInfo при генерации отчета получаю ошибку.
проверь переменную currentValue после копирования участка памяти.
...
Рейтинг: 0 / 0
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / После добавления PEParameterFieldInfo при генерации отчета получаю ошибку. / 2 сообщений из 2, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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