// Borland C++ Builder
// Copyright (c) 1995, 2005 by Borland Software Corporation
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Pfibquery.pas' rev: 10.00

#ifndef PfibqueryHPP
#define PfibqueryHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member functions
#pragma pack(push,8)
#include <System.hpp>	// Pascal unit
#include <Sysinit.hpp>	// Pascal unit
#include <Windows.hpp>	// Pascal unit
#include <Messages.hpp>	// Pascal unit
#include <Sysutils.hpp>	// Pascal unit
#include <Classes.hpp>	// Pascal unit
#include <Db.hpp>	// Pascal unit
#include <Ibase.hpp>	// Pascal unit
#include <Ib_intf.hpp>	// Pascal unit
#include <Ib_externals.hpp>	// Pascal unit
#include <Fibquery.hpp>	// Pascal unit
#include <Fib.hpp>	// Pascal unit
#include <Fibdataset.hpp>	// Pascal unit

//-- user supplied -----------------------------------------------------------

namespace Pfibquery
{
//-- type declarations -------------------------------------------------------
class DELPHICLASS TpFIBQuery;
typedef void __fastcall (__closure *TFIBQueryErrorEvent)(TpFIBQuery* pFIBQuery, Fib::EFIBError* E, Db::TDataAction &Action);

class PASCALIMPLEMENTATION TpFIBQuery : public Fibquery::TFIBQuery 
{
	typedef Fibquery::TFIBQuery inherited;
	
private:
	AnsiString FDescription;
	TFIBQueryErrorEvent FOnExecuteError;
	AnsiString __fastcall GetFIBVersion();
	void __fastcall SetFIBVersion(const AnsiString vs);
	
public:
	__fastcall virtual TpFIBQuery(Classes::TComponent* AOwner);
	void __fastcall ExecProc(void);
	virtual void __fastcall ExecQuery(void);
	void __fastcall ExecProcedure(const AnsiString ProcName, Variant const * InputParams, const int InputParams_Size)/* overload */;
	void __fastcall ExecProcedure(const AnsiString ProcName)/* overload */;
	bool __fastcall BlobToStrings(const AnsiString BlobFieldName, Classes::TStrings* Destination);
	AnsiString __fastcall BlobAsString(const AnsiString BlobFieldName);
	bool __fastcall FieldIsNull(Fibquery::TFIBXSQLVAR* Field);
	HIDESBASE Fibquery::TFIBXSQLVAR* __fastcall FN(const AnsiString FieldName);
	
__published:
	__property AnsiString Description = {read=FDescription, write=FDescription};
	__property TFIBQueryErrorEvent OnExecuteError = {read=FOnExecuteError, write=FOnExecuteError};
	__property AnsiString About = {read=GetFIBVersion, write=SetFIBVersion, stored=false};
	__property BeforeExecute ;
	__property AfterExecute ;
public:
	#pragma option push -w-inl
	/* TFIBQuery.Destroy */ inline __fastcall virtual ~TpFIBQuery(void) { }
	#pragma option pop
	
};


#pragma option push -b-
enum TFIBOrderExecUO { oeBeforeDefault, oeAfterDefault };
#pragma option pop

class DELPHICLASS TpFIBUpdateObject;
class PASCALIMPLEMENTATION TpFIBUpdateObject : public TpFIBQuery 
{
	typedef TpFIBQuery inherited;
	
private:
	bool FActive;
	int FOrderInList;
	Fibdataset::TFIBDataSet* FDataSet;
	Db::TUpdateKind FKindUpdate;
	TFIBOrderExecUO FExecuteOrder;
	void __fastcall SetDataSet(Fibdataset::TFIBDataSet* Value);
	void __fastcall SetOrderInList(int Value);
	void __fastcall SetKindUpdate(Db::TUpdateKind Value);
	
public:
	__fastcall virtual TpFIBUpdateObject(Classes::TComponent* AOwner);
	__fastcall virtual ~TpFIBUpdateObject(void);
	virtual void __fastcall Notification(Classes::TComponent* AComponent, Classes::TOperation Operation);
	void __fastcall ChangeOrderInList(int NewOrder);
	void __fastcall Apply(void);
	
__published:
	__property Fibdataset::TFIBDataSet* DataSet = {read=FDataSet, write=SetDataSet};
	__property int OrderInList = {read=FOrderInList, write=SetOrderInList, nodefault};
	__property Db::TUpdateKind KindUpdate = {read=FKindUpdate, write=SetKindUpdate, default=0};
	__property bool Active = {read=FActive, write=FActive, default=1};
	__property TFIBOrderExecUO ExecuteOrder = {read=FExecuteOrder, write=FExecuteOrder, default=0};
	__property ParamCheck  = {default=1};
};


//-- var, const, procedure ---------------------------------------------------

}	/* namespace Pfibquery */
using namespace Pfibquery;
#pragma pack(pop)
#pragma option pop

#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif	// Pfibquery
