線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2106
推到 Plurk!
推到 Facebook!

一个Delphi的元件能在CB中编译,但是不能在程式中使用

尚未結案
rackbr
一般會員


發表:1
回覆:6
積分:1
註冊:2010-01-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2010-01-25 10:16:13 IP:61.171.xxx.xxx 訂閱
一个delphi的元件在cb6中新建package编译通过后,新建一程式project1,拖一个此控件到form1上,编译报错:

[C Error] xlscalc.hpp(336): E2189 extern variable cannot be initialized
[C Error] xlscalc.hpp(336): E2356 Type mismatch in redeclaration of '_fastcall VarIsRange(const Variant &)'
[C Error] xlscalc.hpp(335): E2344 Earlier declaration of '_fastcall VarIsRange(const Variant &)'
[C Error] xlscalc.hpp(336): E2063 Illegal initialization
[C Error] xlscalc.hpp(336): E2293 ) expected
[C Error] xlsescher.hpp(862): E2451 Undefined symbol 'TEscherDumpItem'
[C Error] xlsescher.hpp(862): E2188 Expression syntax
[C Error] xlsescher.hpp(862): E2299 Cannot generate template specialization from 'DynamicArray'
[C Error] xlsescher.hpp(862): E2040 Declaration terminated incorrectly
[C Error] xlsescher.hpp(875): E2188 Expression syntax
[C Error] xlsescher.hpp(875): E2299 Cannot generate template specialization from 'DynamicArray'
[C Error] xlsescher.hpp(875): E2040 Declaration terminated incorrectly
[C Error] xlsescher.hpp(879): E2293 ) expected
[C Error] xlsescher.hpp(883): E2316 'GetChild' is not a member of 'Xlsescher::TEscherDumpItem'
[C Error] xlsescher.hpp(898): E2303 Type name expected
[C Error] xlsescher.hpp(898): E2139 Declaration missing ;
[C Error] xlsescher.hpp(899): E2303 Type name expected
[C Error] xlsescher.hpp(899): E2238 Multiple declaration for 'TEscherDump::TEscherDumpItem'
[C Error] xlsescher.hpp(898): E2344 Earlier declaration of 'TEscherDump::TEscherDumpItem'
[C Error] xlsescher.hpp(899): E2139 Declaration missing ;

xlscalc.hpp 程式码如下:

[code cpp]
// Borland C Builder
// Copyright (c) 1995, 2002 by Borland Software Corporation
// All rights reserved
// (DO NOT EDIT: machine generated header) 'xlscalc.pas' rev: 6.00
#ifndef xlscalcHPP
#define xlscalcHPP
#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include // Pascal unit
#include // Pascal unit
#include // Pascal unit
#include // Pascal unit
#include <formula.hpp> // Pascal unit
#include // Pascal unit
#include // Pascal unit
//-- user supplied -----------------------------------------------------------
namespace Xlscalc
{
//-- type declarations -------------------------------------------------------
#pragma option push -b-
enum TXLSCompCond { xlsCompNone, xlsCompLT, xlsCompLE, xlsCompEQ, xlsCompGE, xlsCompGT, xlsCompNE };
#pragma option pop
#pragma option push -b-
enum TXLSRetValueType { xlVariantValue, xlNumberValue, xlStringValue, xlBooleanValue };
#pragma option pop
typedef int __fastcall (__closure *TXLSProcessFunc)(int Func, const Variant &Value, Variant &AddValue, Variant &RValue);
typedef int __fastcall (__closure *TXLSGetValue)(int SheetIndex, int row, int col, Variant &Value, bool &OutOfUsedRange);
class DELPHICLASS TXLSFormulatArrayItem;
class PASCALIMPLEMENTATION TXLSFormulatArrayItem : public System::TObject
{
typedef System::TObject inherited;

private:
Variant FValue;
int FValueType;

public:
__fastcall TXLSFormulatArrayItem(void);
int __fastcall GetDataSize(int AFileFormat);
TXLSFormulatArrayItem* __fastcall GetCopy(void);
public:
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~TXLSFormulatArrayItem(void) { }
#pragma option pop

};

class DELPHICLASS TXLSFormulatArray;
class PASCALIMPLEMENTATION TXLSFormulatArray : public System::TObject
{
typedef System::TObject inherited;

private:
Xlshash::TObjectArray* FItems;
int FRowsCount;
int FColsCount;
TXLSFormulatArrayItem* __fastcall GetItem(int Row, int Col);
void __fastcall SetItem(int Row, int Col, TXLSFormulatArrayItem* Value);

public:
__fastcall TXLSFormulatArray(void);
__fastcall virtual ~TXLSFormulatArray(void);
TXLSFormulatArray* __fastcall GetCopy(void);
int __fastcall GetDataSize(int AFileFormat);
int __fastcall Parse(Xlsblob::TXLSBlob* Data, unsigned &Offset, Word BiffVer);
int __fastcall GetData(Xlsblob::TXLSBlob* Data, int AFileFormat);
__property int RowsCount = {read=FRowsCount, nodefault};
__property int ColsCount = {read=FColsCount, nodefault};
__property TXLSFormulatArrayItem* Items[int Row][int Col] = {read=GetItem, write=SetItem};
};

class DELPHICLASS TXLSFormulatArrays;
class PASCALIMPLEMENTATION TXLSFormulatArrays : public System::TObject
{
typedef System::TObject inherited;

private:
Xlshash::TObjectArray* FArrays;
int __fastcall GetCount(void);
TXLSFormulatArray* __fastcall GetItem(int Index);

public:
__fastcall TXLSFormulatArrays(void);
__fastcall virtual ~TXLSFormulatArrays(void);
TXLSFormulatArrays* __fastcall GetCopy(void);
int __fastcall Add(TXLSFormulatArray* Value);
int __fastcall GetDataSize(int AFileFormat);
int __fastcall Parse(Xlsblob::TXLSBlob* Data, unsigned Offset, Word BiffVer);
int __fastcall GetData(Xlsblob::TXLSBlob* Data, int AFileFormat);
__property int Count = {read=GetCount, nodefault};
__property TXLSFormulatArray* Item[int Index] = {read=GetItem};
};

class DELPHICLASS TXLSArrayFormula;
class DELPHICLASS TXLSCompiledFormula;
class PASCALIMPLEMENTATION TXLSCompiledFormula : public System::TObject
{
typedef System::TObject inherited;

private:
Formula::TXLSSyntaxItem* FTree;
TXLSFormulatArrays* FExtData;
bool FInCalculate;
Variant FValue;
unsigned FChangeID;
TXLSArrayFormula* FArrayFormula;
bool __fastcall GetIsExternalData(void);
bool __fastcall GetIsArrayFormula(void);
void __fastcall SetValue(const Variant &AValue);

public:
__fastcall TXLSCompiledFormula(Formula::TXLSSyntaxItem* ATree, TXLSFormulatArrays* AExtData)/* overload */;
__fastcall TXLSCompiledFormula(TXLSArrayFormula* AArrayFormula)/* overload */;
__fastcall virtual ~TXLSCompiledFormula(void);
TXLSCompiledFormula* __fastcall GetCopy(void)/* overload */;
TXLSCompiledFormula* __fastcall GetCopy(int DeltaRow, int DeltaCol)/* overload */;
int __fastcall GetExternalData(Xlsblob::TXLSBlob* &Data, int AFileFormat);
void __fastcall SetArrayFormula(TXLSArrayFormula* AArrayFormula);
__property bool InCalculate = {read=FInCalculate, write=FInCalculate, nodefault};
__property unsigned ChangeID = {read=FChangeID, write=FChangeID, nodefault};
__property Variant Value = {read=FValue, write=SetValue};
__property bool IsExternalData = {read=GetIsExternalData, nodefault};
__property bool IsArrayFormula = {read=GetIsArrayFormula, nodefault};
__property TXLSArrayFormula* ArrayFormula = {read=FArrayFormula};
};

class PASCALIMPLEMENTATION TXLSArrayFormula : public System::TObject
{
typedef System::TObject inherited;

private:
int FFirstRow;
int FFirstCol;
int FLastRow;
int FLastCol;
int FRootRow;
int FRootCol;
bool FIsRootFormula;
TXLSCompiledFormula* FRootFormula;

public:
__fastcall TXLSArrayFormula(int ARootRow, int ARootCol, int AFirstRow, int AFirstCol, int ALastRow, int ALastCol, TXLSCompiledFormula* ARootFormula)/* overload */;
__fastcall TXLSArrayFormula(int ARootRow, int ARootCol, TXLSCompiledFormula* ARootFormula)/* overload */;
__property int FirstRow = {read=FFirstRow, nodefault};
__property int FirstCol = {read=FFirstCol, nodefault};
__property int LastRow = {read=FLastRow, nodefault};
__property int LastCol = {read=FLastCol, nodefault};
__property int RootRow = {read=FRootRow, nodefault};
__property int RootCol = {read=FRootCol, nodefault};
__property bool IsRootFormula = {read=FIsRootFormula, nodefault};
__property TXLSCompiledFormula* RootFormula = {read=FRootFormula};
public:
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~TXLSArrayFormula(void) { }
#pragma option pop

};

class DELPHICLASS TXLSCalcRange;
class PASCALIMPLEMENTATION TXLSCalcRange : public System::TObject
{
typedef System::TObject inherited;

private:
int FRow1;
int FCol1;
int FRow2;
int FCol2;
int FSheetIndex;

public:
__fastcall TXLSCalcRange(int row1, int col1, int row2, int col2, int sheetindex);
__property int Row1 = {read=FRow1, nodefault};
__property int Col1 = {read=FCol1, nodefault};
__property int Row2 = {read=FRow2, nodefault};
__property int Col2 = {read=FCol2, nodefault};
__property int SheetIndex = {read=FSheetIndex, nodefault};
public:
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~TXLSCalcRange(void) { }
#pragma option pop

};

__interface ICalcRangeList;
typedef System::DelphiInterface _di_ICalcRangeList;
__interface INTERFACE_UUID("{0CAF8E11-CE38-A2D4-1AFC-01C04FE17B72}") ICalcRangeList : public IInterface
{

public:
TXLSCalcRange* operator[](int index) { return Item[index]; }

public:
virtual int __fastcall GetCount(void) = 0 ;
virtual TXLSCalcRange* __fastcall GetItem(int index) = 0 ;
__property int Count = {read=GetCount};
__property TXLSCalcRange* Item[int index] = {read=GetItem/*, default*/};
};
typedef DynamicArray xlscalc__8;
class DELPHICLASS TXLSCalcRangeList;
class PASCALIMPLEMENTATION TXLSCalcRangeList : public System::TInterfacedObject
{
typedef System::TInterfacedObject inherited;

public:
TXLSCalcRange* operator[](int index) { return Item[index]; }

private:
DynamicArray FArr;
int FCount;

protected:
void __fastcall Add(int row1, int col1, int row2, int col2, int sheet);

public:
int __fastcall GetCount(void);
TXLSCalcRange* __fastcall GetItem(int index);
__fastcall TXLSCalcRangeList(int row1, int col1, int row2, int col2, int sheet1, int sheet2);
__fastcall virtual ~TXLSCalcRangeList(void);
__property int Count = {read=FCount, nodefault};
__property TXLSCalcRange* Item[int index] = {read=GetItem/*, default*/};
private:
void *__ICalcRangeList; /* Xlscalc::ICalcRangeList */

public:
operator ICalcRangeList*(void) { return (ICalcRangeList*)&__ICalcRangeList; }

};

class DELPHICLASS TXLSCalculator;
class PASCALIMPLEMENTATION TXLSCalculator : public System::TObject
{
typedef System::TObject inherited;

private:
Formula::TXLSFormula* FFormula;
Xlsextern::TXLSExternSheet* FExtern;
TXLSGetValue FGetValue;
Xlsfrmt::TXLSFormater* FFormater;
int __fastcall GetFormulaRangeItem(Formula::TXLSRangeItem* Range, int CurRow, int CurCol, WideString &Formula);
int __fastcall GetFormulaFuncItem(Formula::TXLSSyntaxItem* Item, int CurRow, int CurCol, int CurSheetID, WideString &Formula);
int __fastcall GetFormulaItem(Formula::TXLSSyntaxItem* Item, int CurRow, int CurCol, int CurSheetID, WideString &Formula);
void __fastcall SetFileFormat(int aFileFormat);
int __fastcall GetFileFormat(void);
TXLSRetValueType __fastcall GetRetValueType(const Variant &Value);
int __fastcall ConvertValue(Variant &Value, TXLSRetValueType ValueType);
int __fastcall GetRange(int CurSheetIndex, int CurRow, int CurCol, Formula::TXLSSyntaxItem* Item, _di_ICalcRangeList &Range);
int __fastcall GetNameRange(int CurSheetIndex, int CurRow, int CurCol, Formula::TXLSSyntaxItem* Item, _di_ICalcRangeList &Range);
int __fastcall GetValueOffset(int SheetIndex, Formula::TXLSSyntaxItem* Item, int CurRow, int CurCol, Variant &Value);
int __fastcall GetValueLookup(int SheetIndex, Formula::TXLSSyntaxItem* Item, int CurRow, int CurCol, Variant &Value);
int __fastcall Lookup(int SheetIndex, Formula::TXLSSyntaxItem* Item, int CurRow, int CurCol, Variant &Value);
int __fastcall CalcColumn(int SheetIndex, Formula::TXLSSyntaxItem* Item, int CurRow, int CurCol, Variant &Value);
int __fastcall CalcRow(int SheetIndex, Formula::TXLSSyntaxItem* Item, int CurRow, int CurCol, Variant &Value);
int __fastcall CalcColumns(int SheetIndex, Formula::TXLSSyntaxItem* Item, int CurRow, int CurCol, Variant &Value);
int __fastcall CalcRows(int SheetIndex, Formula::TXLSSyntaxItem* Item, int CurRow, int CurCol, Variant &Value);
int __fastcall GetValueItem(int SheetIndex, Formula::TXLSSyntaxItem* Item, int CurRow, int CurCol, Variant &Value, TXLSRetValueType ValueType, int RetClass)/* overload */;
int __fastcall GetValueItem(int SheetIndex, Formula::TXLSSyntaxItem* Item, int CurRow, int CurCol, Variant &Value, TXLSRetValueType ValueType)/* overload */;
int __fastcall GetValueItemFunc(int SheetIndex, Formula::TXLSSyntaxItem* Item, int CurRow, int CurCol, Variant &Value, TXLSRetValueType ValueType, int RetClass);
int __fastcall GetValueItemNV(int SheetIndex, Formula::TXLSSyntaxItem* Item, int Func, TXLSProcessFunc Proc, int CurRow, int CurCol, Variant &RValue);
int __fastcall GetValueItemNR(int SheetIndex, Formula::TXLSSyntaxItem* Item, int Func, TXLSProcessFunc Proc, int CurRow, int CurCol, Variant &RValue);
int __fastcall GetValueItem0A(int SheetIndex, Formula::TXLSSyntaxItem* Item, int Func, Variant &RValue);
int __fastcall GetValueItem1A(int SheetIndex, Formula::TXLSSyntaxItem* Item, int Func, int CurRow, int CurCol, Variant &RValue);
int __fastcall GetValueItem2A(int SheetIndex, Formula::TXLSSyntaxItem* Item, int Func, int CurRow, int CurCol, Variant &RValue);
int __fastcall GetValueItem3A(int SheetIndex, Formula::TXLSSyntaxItem* Item, int Func, int CurRow, int CurCol, Variant &RValue, int RetClass);
int __fastcall GetRangeInfo(int SheetIndex, int CurRow, int CurCol, Formula::TXLSSyntaxItem* Range, int &row1, int &row2, int &col1, int &col2, int &sheet1, int &sheet2);
int __fastcall GetValueItemRange(int SheetIndex, Formula::TXLSSyntaxItem* Item, int Func, TXLSProcessFunc Proc, int CurRow, int CurCol, Variant &AddValue, Variant &RValue)/* overload */;
int __fastcall GetValueItemRange(int SheetIndex, Formula::TXLSSyntaxItem* Item, int CurRow, int CurCol, Variant &RValue)/* overload */;
int __fastcall GetValueItemRange(int SheetIndex, Formula::TXLSSyntaxItem* Item, int Func, TXLSProcessFunc Proc, int CurRow, int CurCol, Variant &AddValue, Variant &RValue, TXLSCompCond CompCond, const Variant &CompValue)/* overload */;
int __fastcall GetValueItemRange2(int SheetIndex, Formula::TXLSSyntaxItem* RangeCond, Formula::TXLSSyntaxItem* RangeVal, int Func, TXLSProcessFunc Proc, int CurRow, int CurCol, Variant &RValue, TXLSCompCond CompCond, const Variant &CompValue);
int __fastcall ExcelSum(int Func, const Variant &Value, Variant &AddValue, Variant &RValue);
int __fastcall ExcelLog(int Func, const Variant &Value, Variant &AddValue, Variant &RValue);
int __fastcall ParseCondition(const Variant &Value, TXLSCompCond &CompCond, Variant &CompVal);
int __fastcall CalcCountIF(int SheetIndex, Formula::TXLSSyntaxItem* Item, int CurRow, int CurCol, Variant &RValue);
int __fastcall CalcSumIF(int SheetIndex, Formula::TXLSSyntaxItem* Item, int CurRow, int CurCol, Variant &RValue);
int __fastcall CalcConcatenate(int SheetIndex, Formula::TXLSSyntaxItem* Item, int CurRow, int CurCol, Variant &RValue);
int __fastcall CompareVarValues(int Operation, Variant &Value, const Variant &Value2);
int __fastcall CompareVariants(const Variant &value1, const Variant &value2);
int __fastcall CalcNPV(int SheetIndex, Formula::TXLSSyntaxItem* Item, int CurRow, int CurCol, Variant &Value);
int __fastcall CalcSUMPRODUCT(int SheetIndex, Formula::TXLSSyntaxItem* Item, int CurRow, int CurCol, Variant &Value);
int __fastcall GetFormulaData(TXLSCompiledFormula* CompiledFormula, Xlsblob::TXLSBlob* &lData, int CurRow, int CurCol, int CurSheetID);
bool __fastcall ItemIsRange(Formula::TXLSSyntaxItem* Item);

public:
__fastcall TXLSCalculator(Xlsextern::TXLSExternSheet* AExtern, TXLSGetValue AGetValue);
__fastcall virtual ~TXLSCalculator(void);
int __fastcall GetRangeValue(int SheetIndex, TXLSCompiledFormula* CompiledFormula, int CurRow, int CurCol, Variant &Value, unsigned aChangeID);
int __fastcall GetValue(int SheetIndex, TXLSCompiledFormula* CompiledFormula, int CurRow, int CurCol, Variant &Value, unsigned aChangeID);
TXLSCompiledFormula* __fastcall GetCompiledFormula(AnsiString UncompiledFormula, int SheetID);
TXLSCompiledFormula* __fastcall GetTranslatedFormula(Xlsblob::TXLSBlob* Data, unsigned Offset, unsigned FormulaSize, Word BiffVer)/* overload */;
TXLSCompiledFormula* __fastcall GetTranslatedFormula(Xlsblob::TXLSBlob* Data, unsigned Offset, Word BiffVer)/* overload */;
AnsiString __fastcall GetUnCompiledFormula(TXLSCompiledFormula* CompiledFormula, int CurRow, int CurCol, int CurSheetID);
__property int FileFormat = {read=GetFileFormat, write=SetFileFormat, nodefault};
int __fastcall GetArrayFormulaData(TXLSCompiledFormula* CompiledFormula, int ACurSheetID, Xlsblob::TXLSBlob* &AData);
int __fastcall GetStoreData(TXLSCompiledFormula* CompiledFormula, Xlsblob::TXLSBlob* &lData, int CurRow, int CurCol, int CurSheetID);
int __fastcall GetStoreDataExt(TXLSCompiledFormula* CompiledFormula, Xlsblob::TXLSBlob* &lData, int CurRow, int CurCol, int CurSheetID, int aClass);
void __fastcall SetMode(char AMode);
};

//-- var, const, procedure ---------------------------------------------------
static const Shortint xlsErrorNull = 0x0;
static const Shortint xlsErrorDIV0 = 0x7;
static const Shortint xlsErrorValue = 0xf;
static const Shortint xlsErrorRef = 0x17;
static const Shortint xlsErrorName = 0x1d;
static const Shortint xlsErrorNum = 0x24;
static const Shortint xlsErrorNA = 0x2a;
static const Shortint xlsErrorNotSupported = 0xffffff9c;
static const Shortint xlsErrorCircumRef = 0xffffff9b;
static const Shortint xlsErrorOther = 0xffffff9a;
static const Shortint xlsOk = 0x1;
#define xlsErrors (System::Set () << 0x0 << 0x7 << 0xf << 0x17 << 0x1d << 0x20 << 0x27 << 0x2f )
extern PACKAGE bool __fastcall VarIsNumeric(const Variant &Value);
extern PACKAGE bool __fastcall VarIsBoolean(const Variant &Value);
extern PACKAGE bool __fastcall VarIsNull(const Variant &Value);
extern PACKAGE bool __fastcall VarIsRange(const Variant &Value)/* overload */; /*** error 335 ***/
extern PACKAGE bool __fastcall VarIsRange(const Variant &Value, _di_ICalcRangeList &int)/* overload */; /*** error 336 ***/
extern PACKAGE Variant __fastcall RangeToVariant(TXLSCalcRangeList* Value);
extern PACKAGE bool __fastcall VarIsString(const Variant &Value);
extern PACKAGE double __fastcall NormSInv(double p);
} /* namespace Xlscalc */
using namespace Xlscalc;
#pragma option pop // -w-
#pragma option pop // -Vx
#pragma delphiheader end.
//-- end unit ----------------------------------------------------------------
#endif // xlscalc
[/code]



編輯記錄
rackbr 重新編輯於 2010-02-03 12:48:06, 註解 無‧
rackbr
一般會員


發表:1
回覆:6
積分:1
註冊:2010-01-24

發送簡訊給我
#2 引用回覆 回覆 發表時間:2010-01-25 10:18:20 IP:61.171.xxx.xxx 訂閱
// Borland C++ Builder
// Copyright (c) 1995, 2002 by Borland Software Corporation
// All rights reserved
// (DO NOT EDIT: machine generated header) 'xlsescher.pas' rev: 6.00
#ifndef xlsescherHPP
#define xlsescherHPP
#pragma delphiheader begin
#pragma option push -w-
#pragma option push -Vx
#include // Pascal unit
#include // Pascal unit
#include // Pascal unit
#include // Pascal unit
#include // Pascal unit
#include // Pascal unit
#include // Pascal unit
#include // Pascal unit
#include // Pascal unit
#include // Pascal unit
//-- user supplied -----------------------------------------------------------
namespace Xlsescher
{
//-- type declarations -------------------------------------------------------
#pragma pack(push, 1)
struct _TTFBSEWMF
{
Word m_cb;
_SMALL_RECT m_rcBounds;
Types::TPoint m_ptSize;
Word m_cbSave;
Byte m_fCompression;
Byte m_fFilter;
double width;
double height;
Byte EmfRgbUid[16];
Classes::TMemoryStream* C_Stream;
} ;
#pragma pack(pop)
#pragma option push -b-
enum TMsoBlipType { msoblipERROR, msoblipUNKNOWN, msoblipEMF, msoblipWMF, msoblipPICT, msoblipJPEG, msoblipPNG, msoblipDIB };
#pragma option pop
class DELPHICLASS TMSOHeader;
class PASCALIMPLEMENTATION TMSOHeader : public System::TObject
{
typedef System::TObject inherited;

private:
unsigned FRecordType;
unsigned FRecordLength;
Byte __fastcall GetVer(void);
Word __fastcall GetInst(void);
Word __fastcall GetFbt(void);
void __fastcall SetVer(Byte Value);
void __fastcall SetInst(Word Value);
void __fastcall SetFbt(Word Value);
bool __fastcall GetIsFolder(void);

public:
__fastcall TMSOHeader(Xlsblob::TXLSBlobList* DataList, unsigned &Offset)/* overload */;
__fastcall TMSOHeader(TMSOHeader* Header)/* overload */;
__fastcall TMSOHeader(Byte AVer, Word AInst, Word AFbt, unsigned ALength)/* overload */;
int __fastcall AddHeader(Xlsblob::TXLSBlob* Data);
__property unsigned Length = {read=FRecordLength, write=FRecordLength, nodefault};
__property Byte ver = {read=GetVer, write=SetVer, nodefault};
__property Word inst = {read=GetInst, write=SetInst, nodefault};
__property Word fbt = {read=GetFbt, write=SetFbt, nodefault};
__property bool isFolder = {read=GetIsFolder, nodefault};
void __fastcall DebugOutput(void)/* overload */;
void __fastcall DebugOutput(int level)/* overload */;
public:
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~TMSOHeader(void) { }
#pragma option pop

};

class DELPHICLASS TMsoFbt;
class PASCALIMPLEMENTATION TMsoFbt : public System::TObject
{
typedef System::TObject inherited;

private:
TMSOHeader* FHeader;
virtual int __fastcall GetSize(void) = 0 ;

public:
__fastcall TMsoFbt(void);
__fastcall virtual ~TMsoFbt(void);
void __fastcall SetHeader(TMSOHeader* AHeader);
virtual int __fastcall AddData(Xlsblob::TXLSBlob* Data) = 0 ;
virtual Xlsblob::TXLSBlob* __fastcall GetData(void);
int __fastcall ParseData(TMSOHeader* AHeader, Xlsblob::TXLSBlob* Data);
virtual int __fastcall Parse(TMSOHeader* AHeader, Xlsblob::TXLSBlobList* DataList, unsigned Offset, unsigned DataLength);
__property int Size = {read=GetSize, nodefault};
};

class DELPHICLASS TMsoFbtUnknown;
class PASCALIMPLEMENTATION TMsoFbtUnknown : public TMsoFbt
{
typedef TMsoFbt inherited;

private:
Xlsblob::TXLSBlob* FData;
virtual int __fastcall GetSize(void);

public:
virtual int __fastcall AddData(Xlsblob::TXLSBlob* Data);
virtual int __fastcall Parse(TMSOHeader* AHeader, Xlsblob::TXLSBlobList* DataList, unsigned Offset, unsigned DataLength);
__fastcall virtual ~TMsoFbtUnknown(void);
public:
#pragma option push -w-inl
/* TMsoFbt.Create */ inline __fastcall TMsoFbtUnknown(void) : TMsoFbt() { }
#pragma option pop

};

class DELPHICLASS TMsoFbtOptItem;
class PASCALIMPLEMENTATION TMsoFbtOptItem : public System::TObject
{
typedef System::TObject inherited;

private:
Word FOption;
unsigned FValue;
Xlsblob::TXLSBlob* FExtraData;
bool __fastcall GetIsComplex(void);
void __fastcall SetIsComplex(bool AValue);
bool __fastcall GetIsBlipID(void);
void __fastcall SetIsBlipID(bool AValue);
Word __fastcall GetPid(void);
void __fastcall SetPid(Word AValue);
WideString __fastcall GetWideStringValue();
void __fastcall SetWideStringValue(WideString AValue);
int __fastcall GetSize(void);
int __fastcall ParseData(Xlsblob::TXLSBlobList* DataList, unsigned Offset);
int __fastcall ParseExtraData(Xlsblob::TXLSBlobList* DataList, unsigned Offset);

public:
__fastcall virtual ~TMsoFbtOptItem(void);
void __fastcall AddData(Xlsblob::TXLSBlob* Data);
void __fastcall AddExtraData(Xlsblob::TXLSBlob* Data);
__property Word Pid = {read=GetPid, write=SetPid, nodefault};
__property bool isComplex = {read=GetIsComplex, write=SetIsComplex, nodefault};
__property bool isBlipID = {read=GetIsBlipID, write=SetIsBlipID, nodefault};
__property unsigned Value = {read=FValue, write=FValue, nodefault};
__property WideString WideStringValue = {read=GetWideStringValue, write=SetWideStringValue};
__property int Size = {read=GetSize, nodefault};
public:
#pragma option push -w-inl
/* TObject.Create */ inline __fastcall TMsoFbtOptItem(void) : System::TObject() { }
#pragma option pop

};

typedef DynamicArray TWordArray;
class DELPHICLASS TMsoFbtOpt;
class PASCALIMPLEMENTATION TMsoFbtOpt : public TMsoFbt
{
typedef TMsoFbt inherited;

public:
TMsoFbtOptItem* operator[](Word Pid) { return Item[Pid]; }

private:
Xlshash::TObjectArray* FArr;
bool __fastcall GetIsDefined(Word Pid);
virtual int __fastcall GetSize(void);
TMsoFbtOptItem* __fastcall GetItem(Word Pid);
void __fastcall SetItem(Word Pid, TMsoFbtOptItem* Value);
int __fastcall GetCount(void);
TWordArray __fastcall GetSortedKeys();
unsigned __fastcall GetLongValue(Word Pid);
void __fastcall SetLongValue(Word Pid, unsigned Value);
WideString __fastcall GetWideStringValue(Word Pid);
void __fastcall SetWideStringValue(Word Pid, WideString Value);
void __fastcall Clear(void);

public:
__fastcall TMsoFbtOpt(void);
__fastcall virtual ~TMsoFbtOpt(void);
virtual int __fastcall AddData(Xlsblob::TXLSBlob* Data);
void __fastcall DeleteItem(Word Pid);
virtual int __fastcall Parse(TMSOHeader* AHeader, Xlsblob::TXLSBlobList* DataList, unsigned Offset, unsigned DataLength);
int __fastcall DumpData(void);
__property bool isDefined[Word Pid] = {read=GetIsDefined};
__property TMsoFbtOptItem* Item[Word Pid] = {read=GetItem, write=SetItem/*, default*/};
__property WideString WideStringValue[Word Pid] = {read=GetWideStringValue, write=SetWideStringValue};
__property unsigned LongValue[Word Pid] = {read=GetLongValue, write=SetLongValue};
__property int Count = {read=GetCount, nodefault};
};

class DELPHICLASS TMsoFbtDGGItem;
class PASCALIMPLEMENTATION TMsoFbtDGGItem : public System::TObject
{
typedef System::TObject inherited;

private:
unsigned FDgId;
unsigned FSpidCur;

public:
__fastcall TMsoFbtDGGItem(Word ADgId);
int __fastcall Parse(Xlsblob::TXLSBlob* Data, unsigned Offset);
int __fastcall AddData(Xlsblob::TXLSBlob* Data);
__property unsigned DgId = {read=FDgId, nodefault};
__property unsigned SpidCur = {read=FSpidCur, write=FSpidCur, nodefault};
public:
#pragma option push -w-inl
/* TObject.Destroy */ inline __fastcall virtual ~TMsoFbtDGGItem(void) { }
#pragma option pop

};

class DELPHICLASS TMsoFbtDGGList;
class PASCALIMPLEMENTATION TMsoFbtDGGList : public Classes::TList
{
typedef Classes::TList inherited;

public:
TMsoFbtDGGItem* operator[](int Index) { return Entries[Index]; }

private:
int __fastcall GetSize(void);
TMsoFbtDGGItem* __fastcall GetItem(int Index);

public:
__fastcall virtual ~TMsoFbtDGGList(void);
int __fastcall AddData(Xlsblob::TXLSBlob* Data);
int __fastcall Parse(Xlsblob::TXLSBlobList* DataList, unsigned Offset, unsigned DataLength);
__property int Size = {read=GetSize, nodefault};
__property TMsoFbtDGGItem* Entries[int Index] = {read=GetItem/*, default*/};
public:
#pragma option push -w-inl
/* TObject.Create */ inline __fastcall TMsoFbtDGGList(void) : Classes::TList() { }
#pragma option pop

};

class DELPHICLASS TMsoFbtDGG;
class PASCALIMPLEMENTATION TMsoFbtDGG : public TMsoFbt
{
typedef TMsoFbt inherited;

private:
TMsoFbtDGGList* FList;
unsigned FSpidMax;
unsigned FSpSaved;
unsigned FDgSaved;
virtual int __fastcall GetSize(void);
int __fastcall GetCount(void);
void __fastcall RemoveDrawing(Word FDrawingID);
int __fastcall FindDggItem(Word ADrawingId);

public:
__fastcall TMsoFbtDGG(void);
__fastcall virtual ~TMsoFbtDGG(void);
virtual int __fastcall AddData(Xlsblob::TXLSBlob* Data);
virtual int __fastcall Parse(TMSOHeader* AHeader, Xlsblob::TXLSBlobList* DataList, unsigned Offset, unsigned DataLength);
__property int Count = {read=GetCount, nodefault};
int __fastcall RegisterDrawing(Word &ADrawingId);
unsigned __fastcall GetShapeId(Word ADrawingId);
};

class DELPHICLASS TMsoFbtClientAnchor;
class PASCALIMPLEMENTATION TMsoFbtClientAnchor : public TMsoFbt
{
typedef TMsoFbt inherited;

private:
Word FOption;
Word FCol1;
Word FCol1Offs;
Word FRow1;
Word FRow1Offs;
Word FCol2;
Word FCol2Offs;
Word FRow2;
Word FRow2Offs;
virtual int __fastcall GetSize(void);

public:
__fastcall TMsoFbtClientAnchor(void)/* overload */;
__fastcall TMsoFbtClientAnchor(Xlsblob::TXLSBlob* Data)/* overload */;
__fastcall virtual ~TMsoFbtClientAnchor(void);
HIDESBASE int __fastcall ParseData(Xlsblob::TXLSBlob* AData);
virtual int __fastcall AddData(Xlsblob::TXLSBlob* Data);
void __fastcall SetClientAnchor(Word ARow1, Word ARow1Offs, Word ACol1, Word ACol1Offs, Word ARow2, Word ARow2Offs, Word ACol2, Word ACol2Offs);
__property Word Col1 = {read=FCol1, write=FCol1, nodefault};
__property Word Col2 = {read=FCol2, write=FCol2, nodefault};
__property Word Row1 = {read=FRow1, write=FRow1, nodefault};
__property Word Row2 = {read=FRow2, write=FRow2, nodefault};
__property Word Col1Offs = {read=FCol1Offs, write=FCol1Offs, nodefault};
__property Word Col2Offs = {read=FCol2Offs, write=FCol2Offs, nodefault};
__property Word Row1Offs = {read=FRow1Offs, write=FRow1Offs, nodefault};
__property Word Row2Offs = {read=FRow2Offs, write=FRow2Offs, nodefault};
__property Word Option = {read=FOption, write=FOption, nodefault};
};

class DELPHICLASS TMsoFbtSp;
class PASCALIMPLEMENTATION TMsoFbtSp : public TMsoFbt
{
typedef TMsoFbt inherited;

private:
Byte FVer;
Word FShapeType;
unsigned FPersistent;
unsigned FShapeID;
virtual int __fastcall GetSize(void);

public:
__fastcall TMsoFbtSp(Byte AVer, Word AShapeType, unsigned APErsistent)/* overload */;
__fastcall TMsoFbtSp(TMSOHeader* Header, Xlsblob::TXLSBlob* Data)/* overload */;
__fastcall virtual ~TMsoFbtSp(void);
virtual int __fastcall AddData(Xlsblob::TXLSBlob* Data);
__property Word ShapeType = {read=FShapeType, nodefault};
__property unsigned ShapeId = {read=FShapeID, write=FShapeID, nodefault};
};

class DELPHICLASS TMsoShapeContainer;
class DELPHICLASS TMsoDrawing;
class DELPHICLASS TMSODrawingGroup;
class DELPHICLASS TMSOPictureList;
class DELPHICLASS TMSOPicture;
class PASCALIMPLEMENTATION TMSOPictureList : public Classes::TList
{
typedef Classes::TList inherited;

public:
TMSOPicture* operator[](int Index) { return Item[Index]; }

private:
int FCurBlipID;
Xlshash::THashObject* FPicturesHash;
TMSOPicture* __fastcall GetPicture(int Index);
int __fastcall GetSize(void);
HIDESBASE int __fastcall Add(void * Item);

public:
__fastcall TMSOPictureList(void);
__fastcall virtual ~TMSOPictureList(void);
TMSOPicture* __fastcall LoadFromFileBmp(Graphics::TBitmap* Bitmap);
TMSOPicture* __fastcall LoadFromFile(WideString AFileName);
__property TMSOPicture* Item[int Index] = {read=GetPicture/*, default*/};
int __fastcall Parse(Xlsblob::TXLSBlobList* DataList, unsigned Offset, unsigned DataLength);
__property int Size = {read=GetSize, nodefault};
};

class PASCALIMPLEMENTATION TMSODrawingGroup : public System::TObject
{
typedef System::TObject inherited;

private:
TMsoFbtOpt* FOpt;
TMsoFbtDGG* FDgg;
TMSOPictureList* FPictures;
TMsoFbtUnknown* FSplitMenuColors;
TMsoFbtOpt* __fastcall GetOpt(void);
int __fastcall GetSize(void);
void __fastcall RemoveDrawing(Word FDrawingID);

public:
__fastcall TMSODrawingGroup(void);
__fastcall virtual ~TMSODrawingGroup(void);
void __fastcall Clear(void);
int __fastcall Parse(Xlsblob::TXLSBlobList* DataList);
int __fastcall Store(Xlsblob::TXLSBlobList* DataList, int BiffRecSize);
void __fastcall PrepareStore(void);
__property TMsoFbtOpt* Opt = {read=GetOpt};
__property TMsoFbtDGG* Dgg = {read=FDgg};
__property TMSOPictureList* Pictures = {read=FPictures};
__property int Size = {read=GetSize, nodefault};
};

class DELPHICLASS TXLSDrawingParser;
class DELPHICLASS TXLSDrawingParserItem;
typedef DynamicArray xlsescher__42;
class PASCALIMPLEMENTATION TXLSDrawingParserItem : public System::TObject
{
typedef System::TObject inherited;

private:
TXLSDrawingParserItem* FParent;
TMSOHeader* FHeader;
Xlsblob::TXLSBlob* FData;
int FLength;
int FCurLength;
int FChildCount;
int FLevel;
DynamicArray FChild;
bool FSkip;
TXLSDrawingParserItem* __fastcall GetChild(int Index);

public:
__fastcall TXLSDrawingParserItem(TXLSDrawingParserItem* AParent, TMSOHeader* AHeader);
__fastcall virtual ~TXLSDrawingParserItem(void);
TXLSDrawingParserItem* __fastcall AddChild(TMSOHeader* AHeader);
void __fastcall InitData(void);
__property int ChildCount = {read=FChildCount, nodefault};
__property TXLSDrawingParserItem* Child[int Index] = {read=GetChild};
__property int Length = {read=FLength, nodefault};
__property int CurLength = {read=FCurLength, write=FCurLength, nodefault};
__property int Level = {read=FLevel, nodefault};
__property TXLSDrawingParserItem* Parent = {read=FParent};
__property TMSOHeader* Header = {read=FHeader};
__property Xlsblob::TXLSBlob* Data = {read=FData};
};

typedef void __fastcall (__closure *TOnStartParseItem)(System::TObject* Sender, TMSOHeader* Header, bool isContainer, bool &Skip);
typedef void __fastcall (__closure *TOnParseItem)(System::TObject* Sender, TMSOHeader* Header, Xlsblob::TXLSBlob* Data);
typedef void __fastcall (__closure *TOnEndParseItem)(System::TObject* Sender, TMSOHeader* Header, bool isContainer);
typedef void __fastcall (__closure *TOnEndParse)(System::TObject* Sender);
class PASCALIMPLEMENTATION TXLSDrawingParser : public System::TObject
{
typedef System::TObject inherited;

private:
int FLength;
TXLSDrawingParserItem* FRoot;
TXLSDrawingParserItem* FCurrentNode;
TOnStartParseItem FOnStartParseItem;
TOnParseItem FOnParseItem;
TOnEndParseItem FOnEndParseItem;
TOnEndParse FOnEndParse;
void __fastcall ParseNode(Xlsblob::TXLSBlobList* DataList, unsigned &Offset);

public:
__fastcall TXLSDrawingParser(void);
__fastcall virtual ~TXLSDrawingParser(void);
void __fastcall Parse(Xlsblob::TXLSBlobList* DataList)/* overload */;
void __fastcall Parse(Xlsblob::TXLSBlobList* DataList, int StartIndex)/* overload */;
__property TOnStartParseItem OnStartParseItem = {read=FOnStartParseItem, write=FOnStartParseItem};
__property TOnParseItem OnParseItem = {read=FOnParseItem, write=FOnParseItem};
__property TOnEndParseItem OnEndParseItem = {read=FOnEndParseItem, write=FOnEndParseItem};
__property TOnEndParse OnEndParse = {read=FOnEndParse, write=FOnEndParse};
};

#pragma option push -b-
enum TParserState { psNone, psDgContainer, psDg, psSpGrContainer, psSpContainer, psSp, psSpOpt, psClientAnchor };
#pragma option pop
class DELPHICLASS TMsoShapeList;
typedef void __fastcall (__closure *TGetShapeRect)(Word Row, Word Col, double Height, double Width, Word &Row1, Word &Row1Offset, Word &Row2, Word &Row2Offset, Word &Col1, Word &Col1Offset, Word &Col2, Word &Col2Offset);
typedef void __fastcall (__closure *TGetShapeRect2)(Word Row1, Word Row1Offset, Word Col1, Word Col1Offset, double Height, double Width, Word &Row2, Word &Row2Offset, Word &Col2, Word &Col2Offset);
class PASCALIMPLEMENTATION TMsoShapeList : public Classes::TList
{
typedef Classes::TList inherited;

public:
TMsoShapeContainer* operator[](int Index) { return Items[Index]; }

private:
TGetShapeRect FGetShapeRect;
TGetShapeRect2 FGetShapeRect2;
Xlshash::TObjectArray* FShapeByObjID;
TMsoShapeContainer* __fastcall GetItem(int Index);
int __fastcall GetSize(void);

public:
__fastcall TMsoShapeList(TGetShapeRect AGetShapeRect, TGetShapeRect2 AGetShapeRect2);
__fastcall virtual ~TMsoShapeList(void);
void __fastcall AddItem(TMsoShapeContainer* Item);
void __fastcall DeleteShape(TMsoShapeContainer* Item);
int __fastcall Store(Xlsblob::TXLSBlob* Data, Xlsblob::TXLSBlobList* DataList, bool AEncrypt);
__property TMsoShapeContainer* Items[int Index] = {read=GetItem/*, default*/};
__property Xlshash::TObjectArray* ShapeByObjId = {read=FShapeByObjID};
__property int Size = {read=GetSize, nodefault};
};

typedef void __fastcall (__closure *TGetCurRowCol)(Word &Row, Word &Col);
typedef void __fastcall (__closure *TGetShapeSize)(Word Row1, Word Row1Offset, Word Row2, Word Row2Offset, Word Col1, Word Col1Offset, Word Col2, Word Col2Offset, double &Width, double &Height);
typedef unsigned __fastcall (__closure *TGetCustomColor)(int ColorIndex);
typedef void __fastcall (__closure *TSetAutofilterShape)(int ARow, int ACol, System::TObject* Shape);
class DELPHICLASS TMSOShapeTextBox;
class DELPHICLASS TMSOShapeComboBox;
class DELPHICLASS TMSOShapePictureFrame;
class PASCALIMPLEMENTATION TMsoDrawing : public System::TObject
{
typedef System::TObject inherited;

private:
TMSODrawingGroup* FDrawingGroup;
Word FDrawingId;
int FCurObjectId;
int FCurShapeID;
int FFirstShapeID;
int FSheetID;
TXLSDrawingParser* FParser;
TParserState FParserState;
TMsoShapeList* FShapeList;
TMsoShapeContainer* FCurParseShape;
Xlsdrw::TXLSComments* FComments;
Xlsdrw::TXLSShapes* FPictures;
TGetShapeRect FGetShapeRect;
TGetShapeRect2 FGetShapeRect2;
TGetCurRowCol FGetCurRowCol;
TGetShapeSize FGetShapeSize;
TGetCustomColor FGetCustomColor;
TSetAutofilterShape FSetAutofilterShape;
Xlscalc::TXLSCalculator* FCalculator;
void __fastcall OnStartParseItem(System::TObject* Sender, TMSOHeader* Header, bool isContainer, bool &Skip);
void __fastcall OnParseItem(System::TObject* Sender, TMSOHeader* Header, Xlsblob::TXLSBlob* Data);
void __fastcall OnEndParseItem(System::TObject* Sender, TMSOHeader* Header, bool isContainer);
void __fastcall OnEndParse(System::TObject* Sender);
void __fastcall InitParser(void);
int __fastcall AddDg(Xlsblob::TXLSBlob* Data);
int __fastcall GetRootSize(void);
int __fastcall GetSize(void);

public:
__fastcall TMsoDrawing(TMSODrawingGroup* ADrawingGroup, TGetShapeRect AGetShapeRect, TGetShapeSize AGetShapeSize, TGetShapeRect2 AGetShapeRect2, TGetCurRowCol AGetCurRowCol, TGetCustomColor AGetCustomColor, TSetAutofilterShape ASetAutofilterShape, Xlscalc::TXLSCalculator* ACalculator, int ASheetID);
__fastcall virtual ~TMsoDrawing(void);
unsigned __fastcall GetCustomColor(int ColorIndex);
int __fastcall GetNewObjectID(void);
void __fastcall UpdateCurObjectID(int Value);
int __fastcall Parse(Xlsblob::TXLSBlobList* DataList)/* overload */;
int __fastcall Parse(Xlsblob::TXLSBlobList* DataList, int StartIndex)/* overload */;
int __fastcall ParseObj(Xlsblob::TXLSBlobList* DataList);
int __fastcall ParseTXO(Xlsblob::TXLSBlobList* DataList, bool ADecrypt);
int __fastcall FinalizeParse(void);
int __fastcall SetChartData(Xlschart::TXLSCustomChart* ChartData);
int __fastcall Store(Xlsblob::TXLSBlobList* DataList, int BiffRecSize, bool AEncrypt);
int __fastcall StoreNotes(Xlsblob::TXLSBlobList* DataList, Word ABiffVersion);
int __fastcall SetNoteData(Word AObjId, Word ARow, Word ACol, Word AOptions, WideString AAuthor);
unsigned __fastcall GetNewShapeId(void);
TMSOShapeTextBox* __fastcall AddComment(int ARow, int ACol);
TMSOShapeComboBox* __fastcall AddAutofilterShape(int ARow, int ACol);
TMSOShapePictureFrame* __fastcall AddPicture(WideString AFileName)/* overload */;
TMSOShapePictureFrame* __fastcall AddPicture(Graphics::TBitmap* Bitmap)/* overload */;
void __fastcall DeleteShape(TMsoShapeContainer* Item);
void __fastcall PrepareStore(void);
__property TMSODrawingGroup* DrawingGroup = {read=FDrawingGroup};
__property TMsoShapeList* Shapes = {read=FShapeList};
__property int Size = {read=GetSize, nodefault};
__property Xlsdrw::TXLSComments* Comments = {read=FComments};
__property Xlsdrw::TXLSShapes* Pictures = {read=FPictures};
};

class PASCALIMPLEMENTATION TMsoShapeContainer : public System::TObject
{
typedef System::TObject inherited;

private:
TMsoFbtSp* FSp;
TMsoFbtOpt* FOpt;
TMsoFbtClientAnchor* FClientAnchor;
Word FObjectID;
Word FObjectType;
Word FObjectOptions;
double FWidth;
double FHeight;
TMsoDrawing* FDrawing;
virtual int __fastcall GetDgSize(void);
virtual int __fastcall GetDataSize(void);
TMsoFbtOpt* __fastcall GetOpt(void);
TMsoFbtClientAnchor* __fastcall GetClientAnchor(void);
void __fastcall Flush(Xlsblob::TXLSBlob* Data, Xlsblob::TXLSBlobList* DataList);
virtual int __fastcall ParseObj(Xlsblob::TXLSBlob* Data);
virtual bool __fastcall GetVisible(void);
virtual void __fastcall SetVisible(bool Value);

public:
__fastcall TMsoShapeContainer(TMsoDrawing* ADrawing, Byte AVer, Word AShapeType, unsigned APersistent)/* overload */;
__fastcall TMsoShapeContainer(TMsoDrawing* ADrawing, TMSOHeader* Header, Xlsblob::TXLSBlob* ShapeData)/* overload */;
__fastcall TMsoShapeContainer(TMsoShapeContainer* ShapeContainer)/* overload */;
void __fastcall Assign(TMsoShapeContainer* ShapeContainer);
unsigned __fastcall GetCustomColor(int ColorIndex);
__fastcall virtual ~TMsoShapeContainer(void);
virtual int __fastcall Store(Xlsblob::TXLSBlob* Data, Xlsblob::TXLSBlobList* DataList, bool AEncrypt);
__property TMsoFbtSp* Sp = {read=FSp};
__property TMsoFbtOpt* Opt = {read=GetOpt};
__property TMsoFbtClientAnchor* ClientAnchor = {read=GetClientAnchor};
__property int Size = {read=GetDgSize, nodefault};
__property Word ObjectID = {read=FObjectID, write=FObjectID, nodefault};
__property Word ObjectType = {read=FObjectType, write=FObjectType, nodefault};
__property Word ObjectOptions = {read=FObjectOptions, write=FObjectOptions, nodefault};
__property double Width = {read=FWidth, write=FWidth};
__property double Height = {read=FHeight, write=FHeight};
__property bool Visible = {read=GetVisible, write=SetVisible, nodefault};
};

class DELPHICLASS TMSOShapeHostControl;
class PASCALIMPLEMENTATION TMSOShapeHostControl : public TMsoShapeContainer
{
typedef TMsoShapeContainer inherited;

public:
#pragma option push -w-inl
/* TMsoShapeContainer.Create */ inline __fastcall TMSOShapeHostControl(TMsoDrawing* ADrawing, Byte AVer, Word AShapeType, unsigned APersistent)/* overload */ : TMsoShapeContainer(ADrawing, AVer, AShapeType, APersistent) { }
#pragma option pop
#pragma option push -w-inl
/* TMsoShapeContainer.Destroy */ inline __fastcall virtual ~TMSOShapeHostControl(void) { }
#pragma option pop

};

class DELPHICLASS TMSOShapeChart;
class PASCALIMPLEMENTATION TMSOShapeChart : public TMSOShapeHostControl
{
typedef TMSOShapeHostControl inherited;

private:
Xlschart::TXLSCustomChart* FChart;
int __fastcall AddObj(Xlsblob::TXLSBlob* Data, Word ObjType, Word ObjId, Word Options);

public:
__fastcall TMSOShapeChart(TMSOShapeHostControl* HostControl);
__fastcall virtual ~TMSOShapeChart(void);
virtual int __fastcall Store(Xlsblob::TXLSBlob* Data, Xlsblob::TXLSBlobList* DataList, bool AEncrypt);
int __fastcall SetChartData(Xlschart::TXLSCustomChart* Value);
};

class DELPHICLASS TMSOShapeCheckBox;
class PASCALIMPLEMENTATION TMSOShapeCheckBox : public TMSOShapeHostControl
{
typedef TMSOShapeHostControl inherited;

private:
WideString FText;
int __fastcall AddObj(Xlsblob::TXLSBlob* Data, Word ObjType, Word ObjId, Word Options);
virtual int __fastcall GetDgSize(void);

public:
__fastcall TMSOShapeCheckBox(TMSOShapeHostControl* HostControl);
int __fastcall ParseTXO(Xlsblob::TXLSBlobList* DataList);
virtual int __fastcall Store(Xlsblob::TXLSBlob* Data, Xlsblob::TXLSBlobList* DataList, bool AEncrypt);
__property WideString Text = {read=FText, write=FText};
public:
#pragma option push -w-inl
/* TMsoShapeContainer.Destroy */ inline __fastcall virtual ~TMSOShapeCheckBox(void) { }
#pragma option pop

};

class DELPHICLASS TMSOShapePicture;
class PASCALIMPLEMENTATION TMSOShapePicture : public TMSOShapeHostControl
{
typedef TMSOShapeHostControl inherited;

private:
WideString FText;
Xlsblob::TXLSBlob* FObjRecftPictFrmla;
int ftCfValue;
int ftPioGrbit;
int __fastcall AddObj(Xlsblob::TXLSBlob* Data, Word ObjType, Word ObjId, Word Options);
virtual int __fastcall GetDgSize(void);

public:
__fastcall TMSOShapePicture(TMSOShapeHostControl* HostControl);
virtual int __fastcall ParseObj(Xlsblob::TXLSBlob* Data);
int __fastcall ParseTXO(Xlsblob::TXLSBlobList* DataList);
virtual int __fastcall Store(Xlsblob::TXLSBlob* Data, Xlsblob::TXLSBlobList* DataList, bool AEncrypt);
__property WideString Text = {read=FText, write=FText};
__fastcall virtual ~TMSOShapePicture(void);
};

class PASCALIMPLEMENTATION TMSOShapeComboBox : public TMSOShapeHostControl
{
typedef TMSOShapeHostControl inherited;

private:
bool FIsAutofilter;
int FRow;
int FCol;
Xlsblob::TXLSBlob* FObjRec_SBS;
Xlsblob::TXLSBlob* FObjRec_SBSFrmla;
Xlsblob::TXLSBlob* FObjRec_LBSData;
Xlscalc::TXLSCompiledFormula* FLBSFormula;
int __fastcall AddObj(Xlsblob::TXLSBlob* Data, Word ObjType, Word ObjId, Word Options);
virtual int __fastcall GetDgSize(void);
void __fastcall SetDefault(int ARow, int ACol);

public:
__fastcall TMSOShapeComboBox(TMSOShapeHostControl* HostControl)/* overload */;
__fastcall TMSOShapeComboBox(TMsoDrawing* ADrawing, int ARow, int ACol, bool AIsAutofilter)/* overload */;
__fastcall virtual ~TMSOShapeComboBox(void);
virtual int __fastcall ParseObj(Xlsblob::TXLSBlob* Data);
virtual int __fastcall Store(Xlsblob::TXLSBlob* Data, Xlsblob::TXLSBlobList* DataList, bool AEncrypt);
__property bool IsAutofilter = {read=FIsAutofilter, nodefault};
__property int Row = {read=FRow, nodefault};
__property int Col = {read=FCol, nodefault};
};

class DELPHICLASS TMSOShapeListBox;
class PASCALIMPLEMENTATION TMSOShapeListBox : public TMSOShapeHostControl
{
typedef TMSOShapeHostControl inherited;

private:
int FRow;
int FCol;
Xlsblob::TXLSBlob* FObjRec_SBS;
Xlsblob::TXLSBlob* FObjRec_SBSFrmla;
Xlsblob::TXLSBlob* FObjRec_LBSData;
Xlscalc::TXLSCompiledFormula* FLBSFormula;
int __fastcall AddObj(Xlsblob::TXLSBlob* Data, Word ObjType, Word ObjId, Word Options);
virtual int __fastcall GetDgSize(void);
void __fastcall SetDefault(int ARow, int ACol);

public:
__fastcall TMSOShapeListBox(TMSOShapeHostControl* HostControl)/* overload */;
__fastcall TMSOShapeListBox(TMsoDrawing* ADrawing, int ARow, int ACol)/* overload */;
__fastcall virtual ~TMSOShapeListBox(void);
virtual int __fastcall ParseObj(Xlsblob::TXLSBlob* Data);
virtual int __fastcall Store(Xlsblob::TXLSBlob* Data, Xlsblob::TXLSBlobList* DataList, bool AEncrypt);
__property int Row = {read=FRow, nodefault};
__property int Col = {read=FCol, nodefault};
};

class PASCALIMPLEMENTATION TMSOShapeTextBox : public TMsoShapeContainer
{
typedef TMsoShapeContainer inherited;

private:
WideString FText;
Word FRow;
Word FCol;
Word FOptions;
WideString FAuthor;
virtual int __fastcall GetDgSize(void);
virtual int __fastcall GetDataSize(void);
int __fastcall AddObj(Xlsblob::TXLSBlob* Data, Word ObjType, Word ObjId, Word Options);
void __fastcall SetDefault(int ARow, int ACol);
virtual bool __fastcall GetVisible(void);
virtual void __fastcall SetVisible(bool Value);

public:
int __fastcall ParseTXO(Xlsblob::TXLSBlobList* DataList, bool ADecrypt);
virtual int __fastcall Store(Xlsblob::TXLSBlob* Data, Xlsblob::TXLSBlobList* DataList, bool AEncrypt);
int __fastcall SetNoteData(Word ARow, Word ACol, Word AOptions, WideString AAuthor);
__property WideString Text = {read=FText, write=FText};
__property Word Row = {read=FRow, nodefault};
__property Word Col = {read=FCol, nodefault};
public:
#pragma option push -w-inl
/* TMsoShapeContainer.Create */ inline __fastcall TMSOShapeTextBox(TMsoDrawing* ADrawing, Byte AVer, Word AShapeType, unsigned APersistent)/* overload */ : TMsoShapeContainer(ADrawing, AVer, AShapeType, APersistent) { }
#pragma option pop
#pragma option push -w-inl
/* TMsoShapeContainer.Destroy */ inline __fastcall virtual ~TMSOShapeTextBox(void) { }
#pragma option pop

};

class PASCALIMPLEMENTATION TMSOShapePictureFrame : public TMsoShapeContainer
{
typedef TMsoShapeContainer inherited;

private:
virtual int __fastcall GetDgSize(void);
virtual int __fastcall GetDataSize(void);
int __fastcall GetPictureId(void);
void __fastcall SetPictureId(int Value);
int __fastcall AddObj(Xlsblob::TXLSBlob* Data, Word ObjType, Word ObjId, Word Options);
void __fastcall SetDefault(int ARow, int ACol);
virtual bool __fastcall GetVisible(void);
virtual void __fastcall SetVisible(bool Value);
void __fastcall SetTransparentColor(unsigned Value);
unsigned __fastcall GetTransparentColor(void);
bool __fastcall GetTransparentColorDefined(void);

public:
virtual int __fastcall Store(Xlsblob::TXLSBlob* Data, Xlsblob::TXLSBlobList* DataList, bool AEncrypt);
__property int PictureId = {read=GetPictureId, write=SetPictureId, nodefault};
__property unsigned TransparentColor = {read=GetTransparentColor, write=SetTransparentColor, nodefault};
__property bool TransparentColorDefined = {read=GetTransparentColorDefined, nodefault};
void __fastcall ClearTransparentColor(void);
public:
#pragma option push -w-inl
/* TMsoShapeContainer.Create */ inline __fastcall TMSOShapePictureFrame(TMsoDrawing* ADrawing, Byte AVer, Word AShapeType, unsigned APersistent)/* overload */ : TMsoShapeContainer(ADrawing, AVer, AShapeType, APersistent) { }
#pragma option pop
#pragma option push -w-inl
/* TMsoShapeContainer.Destroy */ inline __fastcall virtual ~TMSOShapePictureFrame(void) { }
#pragma option pop

};

class PASCALIMPLEMENTATION TMSOPicture : public System::TObject
{
typedef System::TObject inherited;

private:
Xlsblob::TXLSBlob* FData;
TMsoBlipType FPictureType;
unsigned FRefCount;
Xlsblob::TXLSBlob* FHash;
unsigned FBlipID;
WideString FBlipName;
AnsiString FFileName;
#pragma pack(push, 1)
_TTFBSEWMF FBSEWMF;
#pragma pack(pop)

void __fastcall CalcHash(void);
int __fastcall GetSize(void);
Word __fastcall GetBlipInst(void);
AnsiString __fastcall GetHashKey();
TMsoBlipType __fastcall ExtToPictureType(WideString Ext);

public:
__fastcall TMSOPicture(void);
__fastcall virtual ~TMSOPicture(void);
int __fastcall LoadFromFile(WideString AFileName);
int __fastcall LoadFromFileBMP(Graphics::TBitmap* Bitmap);
__property Xlsblob::TXLSBlob* Data = {read=FData};
__property TMsoBlipType PictureType = {read=FPictureType, nodefault};
__property unsigned BlipID = {read=FBlipID, write=FBlipID, nodefault};
int __fastcall Parse(TMSOHeader* AHeader, Xlsblob::TXLSBlobList* DataList, unsigned Offset);
__property AnsiString Filename = {read=FFileName};
__property _TTFBSEWMF BSEWMF = {read=FBSEWMF};
int __fastcall SaveAs(AnsiString Fname);
__property int Size = {read=GetSize, nodefault};
__property unsigned RefCount = {read=FRefCount, nodefault};
Xlsblob::TXLSBlob* __fastcall GetData(void);
__property AnsiString HashKey = {read=GetHashKey};
};

typedef DynamicArray xlsescher__72; /*** error 862 ***/
class DELPHICLASS TEscherDumpItem;
class PASCALIMPLEMENTATION TEscherDumpItem : public System::TObject
{
typedef System::TObject inherited;

private:
TEscherDumpItem* FParent;
int FLength;
int FCurLength;
int FChildCount;
int FLevel;
DynamicArray FChild; /*** error 875 ***/
TEscherDumpItem* __fastcall GetChild(int Index);

public:
__fastcall TEscherDumpItem(TEscherDumpItem* AParent, int ALength); /*** error 879 ***/
__fastcall virtual ~TEscherDumpItem(void);
TEscherDumpItem* __fastcall AddChild(int ALength);
__property int ChildCount = {read=FChildCount, nodefault};
__property TEscherDumpItem* Child[int Index] = {read=GetChild}; /*** error 883 ***/
__property int Length = {read=FLength, nodefault};
__property int CurLength = {read=FCurLength, write=FCurLength, nodefault};
__property int Level = {read=FLevel, nodefault};
__property TEscherDumpItem* Parent = {read=FParent};
};

class DELPHICLASS TEscherDump;
class PASCALIMPLEMENTATION TEscherDump : public System::TObject
{
typedef System::TObject inherited;

private:
int FLength;
TEscherDumpItem* FRoot; /*** error 898 ***/
TEscherDumpItem* FCurrentNode; /*** error 899 ***/
void __fastcall DumpNode(Xlsblob::TXLSBlobList* DataList, unsigned &Offset);

public:
__fastcall TEscherDump(void);
__fastcall virtual ~TEscherDump(void);
void __fastcall Dump(Xlsblob::TXLSBlobList* DataList);
};

編輯記錄
rackbr 重新編輯於 2010-01-25 10:20:15, 註解 無‧
rackbr 重新編輯於 2010-01-25 10:21:49, 註解 無‧
rackbr 重新編輯於 2010-01-25 10:23:38, 註解 無‧
rackbr 重新編輯於 2010-01-25 10:27:11, 註解 無‧
rackbr 重新編輯於 2010-01-25 10:32:47, 註解 無‧
rackbr
一般會員


發表:1
回覆:6
積分:1
註冊:2010-01-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2010-01-25 10:28:47 IP:61.171.xxx.xxx 訂閱
奇怪,没有办法贴 xlsescher.hpp 程式码 

只好作为文本段粘贴了。。。
編輯記錄
rackbr 重新編輯於 2010-01-25 10:30:06, 註解 無‧
rackbr 重新編輯於 2010-01-25 10:33:29, 註解 無‧
rackbr
一般會員


發表:1
回覆:6
積分:1
註冊:2010-01-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2010-01-25 10:36:37 IP:61.171.xxx.xxx 訂閱
组件我给出下载地址:
http://rapidshare.com/files/340617619/natiexc1.rar

因为是个商业组件,所以希望不要贴到别处或未购买授权做商业使用,请各位大大配合,谢谢!过一阵子将删除下载。。。

小弟是BCB菜菜鸟,还望各位大大帮忙,万分感谢!!

rackbr
一般會員


發表:1
回覆:6
積分:1
註冊:2010-01-24

發送簡訊給我
#5 引用回覆 回覆 發表時間:2010-01-25 10:43:16 IP:61.171.xxx.xxx 訂閱
此组件官方没有CB的版本和支持,
小弟已经新建了xxxxxCB6.bpk的包在source目录下,
另已新建 project1 在 Samples\CBuilder 下面

大家可以直接编译安装 xxxxxCB6.bpk的包到BCB6中
然后打开 project1 查看

如果使用其他版本BCB,只要新建一个package,
然后加入source下所有.pas文件即可试验

rackbr
一般會員


發表:1
回覆:6
積分:1
註冊:2010-01-24

發送簡訊給我
#6 引用回覆 回覆 發表時間:2010-01-31 08:14:45 IP:117.71.xxx.xxx 訂閱
大大们帮帮忙啊,拜托了,为什么CB自动生成的头文件(.hpp)会编译不了呢,
本以为Delphi的组件可以轻松的在CB下使用,现在用不了,头都大了
系統時間:2024-11-22 15:26:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!