procedure TForm1.frxReport1BeforePrint(c: TfrxReportComponent);
var
Cross: TfrxCrossView;
i, j: Integer;
begin
if c is TfrxCrossView then
begin
Cross := TfrxCrossView(c);
for i := 1 to 16 do
for j := 1 to 16 do
Cross.AddValue(, [j], [StringGrid1.Cells[i - 1, j - 1]]);
end;
end;
end.
FastReport 3.16 и его TfrxCrossView
Код:
вот что я написал на Си++Билдере
Код:
void __fastcall TForm1::frxReport1BeforePrint(TfrxReportComponent *Sender)
{
TfrxCrossView *Cross;
int i,j;
Cross = new TfrxCrossView(Sender);
for(i=0;i<16;i++)
for(j=0;j<16;j++)
Cross->AddValue(i,j, StringGrid1->Cells[j]);
}
{
TfrxCrossView *Cross;
int i,j;
Cross = new TfrxCrossView(Sender);
for(i=0;i<16;i++)
for(j=0;j<16;j++)
Cross->AddValue(i,j, StringGrid1->Cells[j]);
}
Вот что у меня выходит в окошке егогов
[color=red]
[C++ Error] Unit1.cpp(40): E2034 Cannot convert 'int' to 'const Variant *'
[C++ Error] Unit1.cpp(40): E2342 Type mismatch in parameter 'Rows' (wanted 'const Variant *', got 'int')
[C++ Error] Unit1.cpp(40): E2034 Cannot convert 'AnsiString' to 'const Variant *'
[C++ Error] Unit1.cpp(40): E2342 Type mismatch in parameter 'Columns' (wanted 'const Variant *', got 'AnsiString')
[C++ Error] Unit1.cpp(40): E2193 Too few parameters in call to '_fastcall TfrxCustomCrossView::AddValue(const Variant *,const int,const Variant *,const int,const Variant *,const int)'
[/color]
почему в примере даются 3 поля для заполнения
Код:
Cross.AddValue(, [j], [StringGrid1.Cells[i - 1, j - 1]]);
а в билдере просит 5 для заполнения...
Код:
AddValue(const Variant *,const int,const Variant *,const int,const Variant *,const int)