home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World Komputer 1997 May
/
Pcwk0597.iso
/
borland
/
cb
/
setup
/
cbuilder
/
data.z
/
TYPINFO.HPP
< prev
next >
Wrap
C/C++ Source or Header
|
1997-02-28
|
5KB
|
171 lines
//----------------------------------------------------------------------------
// TypInfo.hpp - bcbdcc32 generated hdr (DO NOT EDIT) rev: 0
// From: TypInfo.pas
//----------------------------------------------------------------------------
#ifndef TypInfoHPP
#define TypInfoHPP
//----------------------------------------------------------------------------
#include <SysUtils.hpp>
#include <System.hpp>
#pragma warn -par
#pragma warn -hid
#pragma warn -inl
namespace Typinfo
{
//-- type declarations -------------------------------------------------------
enum TTypeKind { tkUnknown, tkInteger, tkChar, tkEnumeration, tkFloat, tkString, tkSet, tkClass, tkMethod,
tkWChar, tkLString, tkLWString, tkVariant };
typedef Set<TTypeKind, tkUnknown, tkVariant> TTypeKinds;
enum TOrdType { otSByte, otUByte, otSWord, otUWord, otSLong };
enum TFloatType { ftSingle, ftDouble, ftExtended, ftComp, ftCurr };
enum TMethodKind { mkProcedure, mkFunction };
enum TypInfo_1 { pfVar, pfConst, pfArray, pfAddress, pfReference };
typedef Set<TypInfo_1, pfVar, pfReference> TParamFlags;
struct TTypeInfo;
typedef TTypeInfo *PTypeInfo;
#pragma pack(push, 1)
struct TTypeInfo
{
TTypeKind Kind;
System::ShortString Name;
} ;
#pragma pack(pop)
struct TTypeData;
typedef TTypeData *PTypeData;
#pragma pack(push, 1)
struct TTypeData
{
union
{
struct
{
TMethodKind MethodKind;
Byte ParamCount;
char ParamList[1024];
};
struct
{
System::TMetaClass*ClassType;
TTypeInfo *ParentInfo;
short PropCount;
System::DummyShortString UnitName;
};
Byte MaxLength;
TFloatType FloatType;
TOrdType OrdType;
union
{
TTypeInfo *CompType;
struct
{
long MinValue;
long MaxValue;
union
{
struct
{
TTypeInfo *BaseType;
System::DummyShortString NameList;
};
};
};
};
};
} ;
#pragma pack(pop)
#pragma pack(push, 1)
struct TypInfo_2
{
} ;
#pragma pack(pop)
#pragma pack(push, 1)
struct TPropData
{
Word PropCount;
TypInfo_2 PropList;
} ;
#pragma pack(pop)
struct TPropInfo;
typedef TPropInfo *PPropInfo;
#pragma pack(push, 1)
struct TPropInfo
{
TTypeInfo *PropType;
void *GetProc;
void *SetProc;
void *StoredProc;
int Index;
long Default;
short NameIndex;
System::ShortString Name;
} ;
#pragma pack(pop)
typedef void __fastcall (__closure *TPropInfoProc)(PPropInfo PropInfo);
typedef TPropInfo *TPropList[16380];
typedef TPropList *PPropList;
//-- var, const, procedure ---------------------------------------------------
#define tkAny 0x1FFF
#define tkMethods 0x1
#define tkProperties 0x1EFE
extern PTypeData __fastcall GetTypeData(PTypeInfo TypeInfo);
extern System::AnsiString __fastcall GetEnumName(PTypeInfo TypeInfo, int Value);
extern int __fastcall GetEnumValue(PTypeInfo TypeInfo, const System::AnsiString Name);
extern PPropInfo __fastcall GetPropInfo(PTypeInfo TypeInfo, const System::AnsiString PropName);
extern void __fastcall GetPropInfos(PTypeInfo TypeInfo, PPropList PropList);
extern int __fastcall GetPropList(PTypeInfo TypeInfo, TTypeKinds TypeKinds, PPropList PropList);
extern bool __fastcall IsStoredProp(System::TObject* Instance, PPropInfo PropInfo);
extern long __fastcall GetOrdProp(System::TObject* Instance, PPropInfo PropInfo);
extern void __fastcall SetOrdProp(System::TObject* Instance, PPropInfo PropInfo, long Value);
extern System::AnsiString __fastcall GetStrProp(System::TObject* Instance, PPropInfo PropInfo);
extern void __fastcall SetStrProp(System::TObject* Instance, PPropInfo PropInfo, const System::AnsiString
Value);
extern Extended __fastcall GetFloatProp(System::TObject* Instance, PPropInfo PropInfo);
extern void __fastcall SetFloatProp(System::TObject* Instance, PPropInfo PropInfo, Extended Value);
extern System::Variant __fastcall GetVariantProp(System::TObject* Instance, PPropInfo PropInfo);
extern void __fastcall SetVariantProp(System::TObject* Instance, PPropInfo PropInfo, const System::Variant
&Value);
extern Sysutils::TMethod __fastcall GetMethodProp(System::TObject* Instance, PPropInfo PropInfo);
extern void __fastcall SetMethodProp(System::TObject* Instance, PPropInfo PropInfo, const Sysutils::TMethod
&Value);
//-- template instantiations -------------------------------------------------
template class TParamFlags ;
template class TTypeKinds ;
} /* namespace Typinfo */
#pragma warn .par
#pragma warn .hid
#pragma warn .inl
#if !defined(NO_IMPLICIT_NAMESPACE_USE)
using namespace Typinfo;
#endif
//-- end unit ----------------------------------------------------------------
#endif // TypInfo