// Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++

// NOTE: Do not modify the contents of this file.  If this class is regenerated by
//  Microsoft Visual C++, your modifications will be overwritten.


#include "stdafx.h"
#include "table.h"

// Dispatch interfaces referenced by this interface
#include "Field.h"
#include "callback.h"


/////////////////////////////////////////////////////////////////////////////
// CTable properties

/////////////////////////////////////////////////////////////////////////////
// CTable operations

long CTable::GetNumRows()
{
	long result;
	InvokeHelper(0x1, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

long CTable::GetNumFields()
{
	long result;
	InvokeHelper(0x2, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

CField CTable::GetField(long FieldIndex)
{
	LPDISPATCH pDispatch;
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x3, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, parms,
		FieldIndex);
	return CField(pDispatch);
}

VARIANT CTable::GetCellValue(long FieldIndex, long RowIndex)
{
	VARIANT result;
	static BYTE parms[] =
		VTS_I4 VTS_I4;
	InvokeHelper(0x4, DISPATCH_PROPERTYGET, VT_VARIANT, (void*)&result, parms,
		FieldIndex, RowIndex);
	return result;
}

BOOL CTable::GetEditingTable()
{
	BOOL result;
	InvokeHelper(0x5, DISPATCH_PROPERTYGET, VT_BOOL, (void*)&result, NULL);
	return result;
}

long CTable::GetLastErrorCode()
{
	long result;
	InvokeHelper(0x6, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, NULL);
	return result;
}

CString CTable::GetErrorMsg(long ErrorCode)
{
	CString result;
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x7, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, parms,
		ErrorCode);
	return result;
}

CString CTable::GetCdlgFilter()
{
	CString result;
	InvokeHelper(0x8, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
	return result;
}

CCallback CTable::GetGlobalCallback()
{
	LPDISPATCH pDispatch;
	InvokeHelper(0x9, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&pDispatch, NULL);
	return CCallback(pDispatch);
}

void CTable::SetGlobalCallback(LPDISPATCH newValue)
{
	static BYTE parms[] =
		VTS_DISPATCH;
	InvokeHelper(0x9, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 newValue);
}

CString CTable::GetKey()
{
	CString result;
	InvokeHelper(0xa, DISPATCH_PROPERTYGET, VT_BSTR, (void*)&result, NULL);
	return result;
}

void CTable::SetKey(LPCTSTR lpszNewValue)
{
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0xa, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
		 lpszNewValue);
}

BOOL CTable::Open(LPCTSTR dbfFilename, LPDISPATCH cBack)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR VTS_DISPATCH;
	InvokeHelper(0xb, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		dbfFilename, cBack);
	return result;
}

BOOL CTable::CreateNew(LPCTSTR dbfFilename)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0xc, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		dbfFilename);
	return result;
}

BOOL CTable::SaveAs(LPCTSTR dbfFilename, LPDISPATCH cBack)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR VTS_DISPATCH;
	InvokeHelper(0xd, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		dbfFilename, cBack);
	return result;
}

BOOL CTable::Close()
{
	BOOL result;
	InvokeHelper(0xe, DISPATCH_METHOD, VT_BOOL, (void*)&result, NULL);
	return result;
}

BOOL CTable::EditClear()
{
	BOOL result;
	InvokeHelper(0xf, DISPATCH_METHOD, VT_BOOL, (void*)&result, NULL);
	return result;
}

BOOL CTable::EditInsertField(LPDISPATCH Field, long* FieldIndex, LPDISPATCH cBack)
{
	BOOL result;
	static BYTE parms[] =
		VTS_DISPATCH VTS_PI4 VTS_DISPATCH;
	InvokeHelper(0x10, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		Field, FieldIndex, cBack);
	return result;
}

BOOL CTable::EditReplaceField(long FieldIndex, LPDISPATCH NewField, LPDISPATCH cBack)
{
	BOOL result;
	static BYTE parms[] =
		VTS_I4 VTS_DISPATCH VTS_DISPATCH;
	InvokeHelper(0x11, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		FieldIndex, NewField, cBack);
	return result;
}

BOOL CTable::EditDeleteField(long FieldIndex, LPDISPATCH cBack)
{
	BOOL result;
	static BYTE parms[] =
		VTS_I4 VTS_DISPATCH;
	InvokeHelper(0x12, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		FieldIndex, cBack);
	return result;
}

BOOL CTable::EditInsertRow(long* RowIndex)
{
	BOOL result;
	static BYTE parms[] =
		VTS_PI4;
	InvokeHelper(0x13, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		RowIndex);
	return result;
}

BOOL CTable::EditCellValue(long FieldIndex, long RowIndex, const VARIANT& newVal)
{
	BOOL result;
	static BYTE parms[] =
		VTS_I4 VTS_I4 VTS_VARIANT;
	InvokeHelper(0x14, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		FieldIndex, RowIndex, &newVal);
	return result;
}

BOOL CTable::StartEditingTable(LPDISPATCH cBack)
{
	BOOL result;
	static BYTE parms[] =
		VTS_DISPATCH;
	InvokeHelper(0x15, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		cBack);
	return result;
}

BOOL CTable::StopEditingTable(BOOL ApplyChanges, LPDISPATCH cBack)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BOOL VTS_DISPATCH;
	InvokeHelper(0x16, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		ApplyChanges, cBack);
	return result;
}

BOOL CTable::EditDeleteRow(long RowIndex)
{
	BOOL result;
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x17, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		RowIndex);
	return result;
}

BOOL CTable::Save(LPDISPATCH cBack)
{
	BOOL result;
	static BYTE parms[] =
		VTS_DISPATCH;
	InvokeHelper(0x18, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		cBack);
	return result;
}

VARIANT CTable::GetMinValue(long FieldIndex)
{
	VARIANT result;
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x19, DISPATCH_PROPERTYGET, VT_VARIANT, (void*)&result, parms,
		FieldIndex);
	return result;
}

VARIANT CTable::GetMaxValue(long FieldIndex)
{
	VARIANT result;
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x1a, DISPATCH_PROPERTYGET, VT_VARIANT, (void*)&result, parms,
		FieldIndex);
	return result;
}

double CTable::GetMeanValue(long FieldIndex)
{
	double result;
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x1b, DISPATCH_PROPERTYGET, VT_R8, (void*)&result, parms,
		FieldIndex);
	return result;
}

double CTable::GetStandardDeviation(long FieldIndex)
{
	double result;
	static BYTE parms[] =
		VTS_I4;
	InvokeHelper(0x1c, DISPATCH_PROPERTYGET, VT_R8, (void*)&result, parms,
		FieldIndex);
	return result;
}

BOOL CTable::ParseExpression(LPCTSTR Expression, BSTR* ErrorString)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR VTS_PBSTR;
	InvokeHelper(0x1d, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		Expression, ErrorString);
	return result;
}

BOOL CTable::Query(LPCTSTR Expression, VARIANT* Result, BSTR* ErrorString)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR VTS_PVARIANT VTS_PBSTR;
	InvokeHelper(0x1e, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		Expression, Result, ErrorString);
	return result;
}

long CTable::GetFieldIndexByName(LPCTSTR Fieldname)
{
	long result;
	static BYTE parms[] =
		VTS_BSTR;
	InvokeHelper(0x1f, DISPATCH_PROPERTYGET, VT_I4, (void*)&result, parms,
		Fieldname);
	return result;
}

BOOL CTable::TestExpression(LPCTSTR Expression, long ReturnType, BSTR* ErrorString)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR VTS_I4 VTS_PBSTR;
	InvokeHelper(0x20, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		Expression, ReturnType, ErrorString);
	return result;
}

BOOL CTable::Calculate(LPCTSTR Expression, long RowIndex, VARIANT* Result, BSTR* ErrorString)
{
	BOOL result;
	static BYTE parms[] =
		VTS_BSTR VTS_I4 VTS_PVARIANT VTS_PBSTR;
	InvokeHelper(0x21, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
		Expression, RowIndex, Result, ErrorString);
	return result;
}