Здравствуйте PeterG, Вы писали:
PG>Теперь понятно. AFAIK тот способ, которым Вы работаете с Кристалом — самый старый, поддерживаемый Кристалом только для совместимости со старыми приложениями. Соответственно, многих новых вещей (в том числе и подсовывания ADO Recordsets) в нем не реализовано. Наиболее новый способ привязаться к Кристалу — через СОМ, конкретно через CRAXDRT.DLL. Код:
PG>#import "msado25.tlb" no_namespace rename("EOF", "EndOfFile") PG>#import "craxdrt.dll" no_namespace rename("Application","CRApp") rename ("IApplication","ICRApp") PG>... PG>IApplicationPtr pApp(__uuidof(CRApp)); PG>IReportPtr pRpt = pApp->OpenReport("report1.rpt") PG>... PG>IRecordsetPtr pRs; PG>_variant_t vtDs(pRs, true); pRpt->>Database->SetDataSource(vtDs, (_variant_t)3L);
PG>Вот вроде и все.
Спасибо... Для меня этот способ совершенно новый. И что ставить вместо многоточия — я даже не догадываюсь :(
Не подскажете, где можно посмотреть примеры реализации, или если не жалко кусок кода, пожалуйста, где можно посмотреть загрузку предварительного просмотра и печати отчета.
Или тут как и по старому методу через CRPEJob надо работать?