Создал в Crystal Reports отчёт с единственным входным параметром (ParameterField).
Вызываю отчёт на просмотр из программы следующим образом:
// Инициализирую Application
HRESULT hr = CoCreateInstance(CLSID_Application, NULL, CLSCTX_INPROC_SERVER , IID_IApplication, (void **) &m_Application);
ASSERT(SUCCEEDED(hr));
// Создаю новый отчёт и засовываю во viewer
m_Report = m_Application->OpenReport(_bstr_t("RCPeriod.rpt"));
m_CRViewer1.SetReportSource(m_Report);
//Готовлю параметр для передачи в отчёт
VARIANT var;
VariantInit(&var);
var.vt = VT_I2;
var.lVal = ID_Calc;
//Получаю указатель на интересующий параметр
m_Par = m_Params->GetItemByName((_bstr_t) "ID_Calc");
//...и изменяю его значение pPar->SetCurrentValue(var);
m_CRView.SetReportSource(m_Report);
m_CRViewer1.ViewReport(); — при этом возникает странная ошибка: "Server has not yet been opened"
Я думал, что дело в LogOn. После OpenReport сделал LogOnServer для базы данных (m_Report->get_Database).
m_Report->get_Database((IDatabase**) &m_DB); m_DB->LogOnServer("P2SSQL.DLL", "LOKHATCH", "RCPeriod", "sa", "sa");
И теперь уже при вызове LogOnServer появлялось то же сообщение об ошибке. Ужас какой-то В чём дело? ПОМОГИТЕ!!!
Помогите!!!!!!!!!!!