在制作动态生成报表时出错。请大家指教
//----------------------------------------------------------------------------
#include <vcl\vcl.h>
#pragma hdrstop
#include "Unit21.h"
//----------------------------------------------------------------------------
#pragma resource "*.dfm"
Tqp *qp;
//----------------------------------------------------------------------------
__fastcall Tqp::Tqp(TComponent* Owner)
: TQuickRep(Owner)
{
}
//----------------------------------------------------------------------------
void Tqp::ViewAsGrid(TdxDBGrid *dxDBGrid)
{ TQRLabel *Label;
TQRDBText *Text;
int i,left=0;
for (i=0;dxDBGrid->ColumnCount-1>=i;i++)
if( dxDBGrid->Columns[i]->Visible)
{ Label=new TQRLabel(chb);
Text=new TQRDBText(db);
Label->Parent=chb;
Text->Parent=db;
Label->AutoSize=false;
Text->AutoSize=false;
Label->Top=0;
Text->Top=0;
Label->Left=left;
Text->Left=left;
left+=dxDBGrid->Columns[i]->Width;
Label->Width=dxDBGrid->Columns[i]->Width;
Text->Width=Label->Width;
Label->Frame->DrawTop=true;
Label->Frame->DrawLeft=true;
Label->Frame->DrawRight=true;
Label->Frame->DrawBottom=true;
Text->Frame=Label->Frame;
chb->Height=Label->Height;
db->Height=Text->Height;
Label->Name=dxDBGrid->Columns[i]->Field->DisplayLabel+"label";
Label->Caption=dxDBGrid->Columns[i]->Field->DisplayLabel;
qp->DataSet=dxDBGrid->DataSource->DataSet;
Text->DataField=dxDBGrid->Columns[i]->Field->FieldName;
Text->Name=dxDBGrid->Columns[i]->Field->FieldName+"text";
Text->DataSet=dxDBGrid->DataSource->DataSet;
Label->Font=dxDBGrid->HeaderFont;
Text->Font=dxDBGrid->Font;
}
qp->Preview();
delete Text;
delete Label;
}
//---------------------------------------------------------------------------
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include <Db.hpp>
#include <DBTables.hpp>
#include <Grids.hpp>
#include "dxCntner.hpp"
#include "dxDBCtrl.hpp"
#include "dxDBGrid.hpp"
#include "dxTL.hpp"
#include <Dialogs.hpp>
//---------------------------------------------------------------------------
class TForm1 : public TForm
{
__published: // IDE-managed Components
TButton *Button1;
TTable *Table1;
TDataSource *DataSource1;
TdxDBGrid *dxDBGrid1;
TSaveDialog *SaveDialog;
void __fastcall Button1Click(TObject *Sender);
private: // User declarations
public: // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
调用时正常,但在关闭时出错并无法正常退出应用程序