free report в длл
В Дельфи совсем чайник
Надо что то типа такого
VBS,VB,VBA
...
Set FR = CreateObject("FreeReport.FreeRreport")
FR.UDLFile = "FILE NAME=C:\Program Files\Borland\FreeReport68\CONNECTION.udl"
FR.Source="select * from documents"
FR.Design
'Или
FR.Preview
...
В Дельфи это выглядит так
frds:= TfrDBDataSet.Create(nil);
frrpt:=TfrReport.Create(nil);
frds.OpenDataSource:=True;
frds.DataSet:=ds;
frrpt.Dataset:=frds;
frrpt.DesignReport;
...
где
ds:=TADODataSet.Create(nil);
Но вот как только дело доходит до дизайн или привью отчет не видит ДатаСет. Но если я делаю практически! все то же самое в обычном EXE- все проходит на ура. У меня такое подозрение что объект TfrReport на форме, совсем не то если я его создаю в проекте для ДЛЛ frrpt:=TfrReport.Create(nil);.
Надо что то типа такого
VBS,VB,VBA
...
Set FR = CreateObject("FreeReport.FreeRreport")
FR.UDLFile = "FILE NAME=C:\Program Files\Borland\FreeReport68\CONNECTION.udl"
FR.Source="select * from documents"
FR.Design
'Или
FR.Preview
...
В Дельфи это выглядит так
frds:= TfrDBDataSet.Create(nil);
frrpt:=TfrReport.Create(nil);
frds.OpenDataSource:=True;
frds.DataSet:=ds;
frrpt.Dataset:=frds;
frrpt.DesignReport;
...
где
ds:=TADODataSet.Create(nil);
Но вот как только дело доходит до дизайн или привью отчет не видит ДатаСет. Но если я делаю практически! все то же самое в обычном EXE- все проходит на ура. У меня такое подозрение что объект TfrReport на форме, совсем не то если я его создаю в проекте для ДЛЛ frrpt:=TfrReport.Create(nil);.
Комментарии
(меню Project-Options-Packages-Build with run-time packages)
vcl;rtl;vclx;indy;inet;xmlrtl;vclie;inetdbbde;inetdbxpress;dbrtl;dsnap;dsnapcon;vcldb;soaprtl;VclSmp;dbexpress;dbxcds;inetdb;bdertl;vcldbx;webdsnap;websnap;adortl;ibxpress;teeui;teedb;tee;dss;visualclx;visualdbclx;vclactnband;vclshlctrls;IntrawebDB_50_70;Intraweb_50_70;Rave50CLX;Rave50VCL;dclOfficeXP;FreeRep7. Может надо что то еще добавить?
у меня дельфи 7
На всякий случай привожу код
...
cnn: TADOConnection;
ds: TADODataSet;
frds: TfrDBDataSet;
frrpt: TfrReport;
frDesigner: TfrDesigner;
...
procedure TFreeRreport.Design;
begin
frds:= TfrDBDataSet.Create(nil);
frrpt:=TfrReport.Create(nil);
frds.DataSet:=ds;
frds.OpenDataSource:=True;
frds.Open;
frrpt.Dataset:=frds;
frrpt.DesignReport;
end
procedure TFreeRreport.Set_Source(Value: OleVariant);
begin
ds:=TADODataSet.Create(nil);
ds.Connection:=cnn;
ds.LockType:=ltReadOnly;
ds.CommandType:=cmdText;
ds.CommandText:=Value;
ds.Active:=True;
ds.Open;
end;
procedure TFreeRreport.Set_UDLFile(Value: OleVariant);
begin
cnn:=TADOConnection.Create(nil);
cnn.ConnectionString :=Value;
cnn.LoginPrompt := False;
cnn.Mode := cmRead;
cnn.Open;
end;