powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / После добавления PEParameterFieldInfo при генерации отчета получаю ошибку.
2 сообщений из 2, страница 1 из 1
После добавления PEParameterFieldInfo при генерации отчета получаю ошибку.
    #33385093
EvgeniyIshchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Отчет экспортируется с помощью 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
После добавления PEParameterFieldInfo при генерации отчета получаю ошибку.
    #33625918
Роман22
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проверь переменную currentValue после копирования участка памяти.
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / После добавления PEParameterFieldInfo при генерации отчета получаю ошибку.
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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