Jack,
This is why the ActiveX is the cheaper approach and it works without
purchasing Classmate or pulling your hair out!!
Here is how:
1. Create a library and generate Automation Server class from the
rpRT309.TLB, then include this lib into application.
2. Copy the rp*.dll to your app folder.
3. Copy the rpRT309.TLB to your app folder
4. Copy the included cmGui209.dll to your app folder.
5. Copy rpwin.ini and labels300.sys to app folder
6. Copy capaint.dll to app folder, if needed.
Then you can preview report. The following is a sample to display data from
a bBrowser server :
LOCAL oReport AS IRpRuntime // generated class name or whatever you
named it.
oReport := IRpRuntime{}
oReport:LoadReport(GetCurPath()+"\MYREPORT.RPT") // your report
IF oReport:IsValid
oReport:SetReportStringAttribute(RPT_ATTR_DFLT_DATA_PATH,
GetCurPath())
oReport:SetTableStringAttribute(1, "AIRLINE", TABLE_ATTR_DRIVER,
"DBFCDX")
oReport:SetTableStringAttribute(1, "AIRLINE", TABLE_ATTR_TABLE,
"SOME_FILE.DBF") // Change table name accordingly
oReport:SetTableStringAttribute(1, "AIRLINE", TABLE_ATTR_INDEX_FILE,
oDCbBrowser1:Server:OrderInfo(DBOI_INDEXNAME))
oReport:SetTableStringAttribute(1, "AIRLINE", TABLE_ATTR_INDEX_TAG,
oDCbBrowser1:Server:OrderInfo(DBOI_NAME))
oReport:SetTableIntAttribute(1,"SOME_FILE.", TABLE_ATTR_WORK_AREA,
oDCbBrowser1:Server:Area) // change table name accordingly
oReport:PreviewReport()
ENDIF
oReport:Close()
oReport:Destroy()
oReport := NULL_OBJECT
HTH,
Jamal
"Jack Konings" wrote in message
news:4f6b$51267c07$d4cc90c0$12...@cache80.multikabel.net...