Crystal 8 & Peplus.h
От: Kira_  
Дата: 12.09.05 14:32
Оценка:
Исправлено форматирование текста. — SchweinDeBurg

Необходимо использовать: Crystal Report 8, VC++6,
но работать с Report Viewer Control не получается, т.к. там есть только возможность вывести отчет на печать, а нужно чтобы его можно было сохранить, такая возможность есть при использовании API, crpe.h, peplus.h

// SDI
....................
#include "peplus.h"
....................

void CMyprojectView::OnMenuReport1() 
{
    CRPEngine pEngine;
    CRPEJob *m_JobReport; 

    if(!pEngine.Open())
    { AfxMessageBox("Problem"); 
       return;
    }
   m_JobReport=pEngine.OpenJob("Report-test.rpt");
    if (m_JobReport <= 0) 
    { 
     AfxMessageBox("ERROR");
     return;
    }  

    CMainFrame *pWnd = dynamic_cast<CMainFrame *>(AfxGetMainWnd());
    ASSERT_VALID(pWnd);

   if(!m_JobReport->OutputToWindow("Заголовок отчета", 30, 30, 900, 700, 0, pWnd=NULL))
   { 
     AfxMessageBox("No-outputToWindow");
     return;
   }

    if(!m_JobReport->Start())
    { 
          AfxMessageBox("No-start");
          return;
         }

      m_JobReport->Close();
    
}

При нажатии на кнопку отчет открывается на мгновение, а потом исчезает.
Подскажите, пожалуйста, что я не так делаю.

Если с Report Viewer Control я чтото не так поняла, подскажите есть ли там возможность сохранять отчеты в каком нибудь формате, например word, excel.

Спасибо.
[от модератора]
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 12.09.05 14:56
Оценка:
Убедительная просьба — использовать коды форматирования при вставке текстов программ.
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by Bruce Dickinson — Space Race ]
- Искренне ваш, Поросенок Пафнутий
Re: [от модератора]
От: Kira_  
Дата: 12.09.05 15:21
Оценка:
Извините, буду обращать внимание, я первый раз
Re: Crystal 8 & Peplus.h
От: TheThief Россия  
Дата: 12.09.05 19:32
Оценка:
Здравствуйте, Kira_, Вы писали:

K_>
K_>....................
K_>#include "peplus.h"
K_>....................

K_>void CMyprojectView::OnMenuReport1() 
K_>{
K_>    .....................
K_>    if(!m_JobReport->Start())
K_>    { 
K_>          AfxMessageBox("No-start");
K_>          return;
K_>         }

K_>      m_JobReport->Close();
    
K_>} 
K_>


Если я правильно понял, то if(!m_JobReport->Start()) открывает отчет (ну или чтото вроде того), а в случае неудачи выводится окно сообщения и сразу выход из процедуры!
А вот в случае удачи вызывается ф-ция m_JobReport->Close(), которая как мне кажется и закрывает отчет???

И еще вопрос, а m_JobReport в случае ошибки освобождать не надо???

Это лишь догодка!
Re[2]: Crystal 8 & Peplus.h
От: Kira_  
Дата: 13.09.05 17:23
Оценка:
Удалено избыточное цитирование. — SchweinDeBurg

Спасибо, я уже разобралась.
Просто

if(!pEngine.Open())
    { AfxMessageBox("Problem"); 
       return;
    }


нужно вызывать в
BOOL CMyprodjectApp::InitInstance().


Здравствуйте, TheThief, Вы писали:

TT>Если я правильно понял, то if(!m_JobReport->Start()) открывает отчет (ну или чтото вроде того), а в случае неудачи выводится окно сообщения и сразу выход из процедуры!

TT>А вот в случае удачи вызывается ф-ция m_JobReport->Close(), которая как мне кажется и закрывает отчет???

TT>И еще вопрос, а m_JobReport в случае ошибки освобождать не надо???
[от модератора]
От: SchweinDeBurg Россия https://zarezky.spb.ru/
Дата: 14.09.05 05:08
Оценка:
Убедительная просьба — следить за объемом цитирования.
[ posted via RSDN@Home 1.1.4 stable SR1 r568, accompanied by silence ]
- Искренне ваш, Поросенок Пафнутий
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.