Здравствуйте PeterG, Вы писали:
PG>А через какую библиотеку (craxdrt.dll, cpeauto.dll или другую) Вы подключаетесь к Кристалу? Ответ на Ваш вопрос зависит от этого.
Честно говоря, я в этом еще мало понимаю, может поможете разобраться с какой библиотекой?
Я импортирую crpe32m.lib. Посмотрел во все добавленные классы, и там много всяких dll подключается.
Вот код...
#include "crpe.h"
#include "peplus.h"
#include "uxddisk.h"
#include "uxftext.h"
CRPEngine m_crpEngine;
CRPEJob* pJob;
CRPELogOnInfo logonInfo;
strcpy(logonInfo.m_serverName, "RealRep");
strcpy(logonInfo.m_userID, "admin");
pJob = m_crpEngine.OpenJob("FormPricelist.rpt");
if(!pJob->SetNthTableLogonInfo(0, &logonInfo, FALSE)) goto lblError;
if(!pJob->TestNthTableConnectivity(0)) goto lblError;
if(!pJob->DiscardSavedData ()) goto lblError;
if(!pJob->SetSQLQuery("SELECT * FROM FormPricelist ORDER BY NumRecord")) goto lblError;
if(!pJob->SetMargins (432, 0, 567 /* 1 cm */, 0)) goto lblError;
CMDIFrameWnd* pWndFrame;
pWndFrame = (CMDIFrameWnd* )pApp->GetMainWnd();
if(!pJob->OutputToWindow ("Окно вывода", 10, 20, 500, 300,
WS_OVERLAPPEDWINDOW | WS_VISIBLE | WS_MAXIMIZE, pWndFrame)) goto lblError;
if(!pJob->Start()) goto lblError;
pJob->Close();
return;
lblError:
sError = pJob->GetErrorText();
AfxMessageBox(sError);
pJob->Close();
Может этот кусок кода что-то скажет.
Заранее благодарен.