// CodeGear C++Builder
// Copyright (c) 1995, 2015 by Embarcadero Technologies, Inc.
// All rights reserved

// (DO NOT EDIT: machine generated header) 'FlashPlayerControl.pas' rev: 30.00 (Windows)

#ifndef FlashplayercontrolHPP
#define FlashplayercontrolHPP

#pragma delphiheader begin
#pragma option push
#pragma option -w-      // All warnings off
#pragma option -Vx      // Zero-length empty class member 
#pragma pack(push,8)
#include <System.hpp>
#include <SysInit.hpp>
#include <Winapi.Windows.hpp>
#include <Winapi.Messages.hpp>
#include <Winapi.ActiveX.hpp>
#include <System.SysUtils.hpp>
#include <System.Classes.hpp>
#include <Vcl.Controls.hpp>
#include <Vcl.Forms.hpp>
#include <Vcl.Menus.hpp>
#include <Vcl.Graphics.hpp>
#include <System.Win.ComObj.hpp>
#include <Vcl.AxCtrls.hpp>
#include <Winapi.MMSystem.hpp>
#include <Vcl.StdCtrls.hpp>
#include <Vcl.ExtCtrls.hpp>
#include <System.Math.hpp>
#include <System.AnsiStrings.hpp>
#include <System.Types.hpp>
#include <System.UITypes.hpp>

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

namespace Flashplayercontrol
{
//-- forward type declarations -----------------------------------------------
struct TFlashVersion;
__interface IFlashPlayerControlBase;
typedef System::DelphiInterface<IFlashPlayerControlBase> _di_IFlashPlayerControlBase;
__interface IPersistStream;
typedef System::DelphiInterface<IPersistStream> _di_IPersistStream;
__interface ISimpleFrameSite;
typedef System::DelphiInterface<ISimpleFrameSite> _di_ISimpleFrameSite;
__interface ISequentialStream;
typedef System::DelphiInterface<ISequentialStream> _di_ISequentialStream;
__interface IStream;
typedef System::DelphiInterface<IStream> _di_IStream;
__interface IOleInPlaceSiteEx;
typedef System::DelphiInterface<IOleInPlaceSiteEx> _di_IOleInPlaceSiteEx;
__interface IEnumString;
typedef System::DelphiInterface<IEnumString> _di_IEnumString;
__interface IEnumMoniker;
typedef System::DelphiInterface<IEnumMoniker> _di_IEnumMoniker;
__interface IRunningObjectTable;
typedef System::DelphiInterface<IRunningObjectTable> _di_IRunningObjectTable;
__interface IOleObject;
typedef System::DelphiInterface<IOleObject> _di_IOleObject;
__interface IDropTarget;
typedef System::DelphiInterface<IDropTarget> _di_IDropTarget;
__interface IViewObject;
typedef System::DelphiInterface<IViewObject> _di_IViewObject;
__interface IEnumUnknown;
typedef System::DelphiInterface<IEnumUnknown> _di_IEnumUnknown;
struct TBindOpts;
__interface IBindCtx;
typedef System::DelphiInterface<IBindCtx> _di_IBindCtx;
__interface IParseDisplayName;
typedef System::DelphiInterface<IParseDisplayName> _di_IParseDisplayName;
__interface IOleContainer;
typedef System::DelphiInterface<IOleContainer> _di_IOleContainer;
__interface IOleClientSite;
typedef System::DelphiInterface<IOleClientSite> _di_IOleClientSite;
__interface IMoniker;
typedef System::DelphiInterface<IMoniker> _di_IMoniker;
__interface DShockwaveFlashEvents;
typedef System::DelphiInterface<DShockwaveFlashEvents> _di_DShockwaveFlashEvents;
struct _DDPIXELFORMAT;
struct _DDCOLORKEY;
struct _DDSCAPS;
struct _DDSURFACEDESC;
__interface IDirectDrawSurface;
typedef System::DelphiInterface<IDirectDrawSurface> _di_IDirectDrawSurface;
__interface IDirectDraw;
typedef System::DelphiInterface<IDirectDraw> _di_IDirectDraw;
__interface IDirectDrawFactory;
typedef System::DelphiInterface<IDirectDrawFactory> _di_IDirectDrawFactory;
__interface ITimerSink;
typedef System::DelphiInterface<ITimerSink> _di_ITimerSink;
__interface ITimer;
typedef System::DelphiInterface<ITimer> _di_ITimer;
__interface ITimerService;
typedef System::DelphiInterface<ITimerService> _di_ITimerService;
class DELPHICLASS TFlashPlayerControl;
struct tagExtentInfo;
struct tagAspectInfo;
struct tagDVEXTENTINFO;
__interface IViewObjectEx;
typedef System::DelphiInterface<IViewObjectEx> _di_IViewObjectEx;
__interface IOleInPlaceSiteWindowless;
typedef System::DelphiInterface<IOleInPlaceSiteWindowless> _di_IOleInPlaceSiteWindowless;
__interface IOleInPlaceObjectWindowless;
typedef System::DelphiInterface<IOleInPlaceObjectWindowless> _di_IOleInPlaceObjectWindowless;
__interface IServiceProvider;
typedef System::DelphiInterface<IServiceProvider> _di_IServiceProvider;
class DELPHICLASS TTransparentFlashPlayerControl;
//-- type declarations -------------------------------------------------------
typedef void __fastcall (__closure *TFlashPlayerControlOnReadyStateChange)(System::TObject* ASender, int newState);

typedef void __fastcall (__closure *TFlashPlayerControlOnProgress)(System::TObject* ASender, int percentDone);

typedef void __fastcall (__closure *TFlashPlayerControlFSCommand)(System::TObject* ASender, const System::WideString command, const System::WideString args);

typedef void __fastcall (__closure *TFlashPlayerControlFlashCall)(System::TObject* ASender, const System::WideString request);

typedef void __fastcall (__closure *TFlashPlayerControlOnLoadExternalResource)(System::TObject* ASender, const System::WideString URL, System::Classes::TStream* Stream);

typedef void __fastcall (__closure *TFlashPlayerControlOnLoadExternalResourceEx)(System::TObject* ASender, const System::WideString URL, System::Classes::TStream* Stream, /* out */ bool &bHandled);

typedef void __fastcall (__closure *TFlashPlayerControlOnLoadExternalResourceAsync)(System::TObject* ASender, const System::WideString Path, /* out */ System::Classes::TStream* &Stream);

typedef void __fastcall (__closure *TFlashPlayerControlOnUnloadExternalResourceAsync)(System::TObject* ASender, System::Classes::TStream* Stream);

typedef void __fastcall (__closure *TFlashPlayerControlOnDrawBackground)(System::TObject* ASender, Vcl::Graphics::TCanvas* Canvas);

typedef void __fastcall (__closure *TFlashPlayerControlUpdateRect)(System::TObject* ASender, System::Types::TRect &rc);

typedef void __fastcall (__closure *TFlashPlayerControlOnFlashPaint)(System::TObject* ASender, void * pPixels);

typedef void __fastcall (__closure *TFlashPlayerControlOnGlobalLoadExternalResource)(const System::WideString URL, System::Classes::TStream* Stream);

typedef void __fastcall (__closure *TFlashPlayerControlOnGlobalLoadExternalResourceEx)(const System::WideString URL, System::Classes::TStream* Stream, /* out */ bool &bHandled);

typedef void __fastcall (__closure *TFlashPlayerControlOnGlobalLoadExternalResourceAsync)(const System::WideString Path, /* out */ System::Classes::TStream* &Stream);

typedef void __fastcall (__closure *TFlashPlayerControlOnGlobalSyncCall)(void);

typedef void __fastcall (__closure *TFlashPlayerControlOnGlobalPreProcessURL)(System::WideString &URL, /* out */ bool &Continue);

typedef void __fastcall (__closure *TFlashPlayerControlOnAudioOutputOpen)(Winapi::Mmsystem::PWaveFormatEx lpFormat);

typedef void __fastcall (__closure *TFlashPlayerControlOnAudioOutputWrite)(Winapi::Mmsystem::PWaveHdr lpWaveOutHdr, unsigned uSize);

typedef void __fastcall (__closure *TFlashPlayerControlOnAudioOutputClose)(void);

typedef bool TBoolType;

typedef NativeUInt TDwordPtr;

typedef NativeUInt *PDwordPtr;

#pragma pack(push,1)
struct DECLSPEC_DRECORD TFlashVersion
{
public:
	System::StaticArray<unsigned, 4> version;
};
#pragma pack(pop)


__interface  INTERFACE_UUID("{911FA1AF-CDB2-45ED-8271-5662C59CB25D}") IFlashPlayerControlBase  : public System::IInterface 
{
	virtual HRESULT __stdcall IFlashPlayerControlBase_PutMovie(System::WideString NewMovie) = 0 ;
	virtual HRESULT __stdcall IFlashPlayerControlBase_LoadMovie(int Layer, const System::WideString url) = 0 ;
	virtual HRESULT __stdcall IFlashPlayerControlBase_GetBase(System::WideString &url) = 0 ;
	virtual HRESULT __stdcall IFlashPlayerControlBase_CallOnLoadExternalResource(const System::WideString URL, System::Classes::TStream* Stream) = 0 ;
	virtual HRESULT __stdcall IFlashPlayerControlBase_CallOnLoadExternalResourceEx(const System::WideString URL, System::Classes::TStream* Stream, /* out */ bool &bHandled) = 0 ;
	virtual HRESULT __stdcall IFlashPlayerControlBase_CallOnLoadExternalResourceAsync(const System::WideString Path, /* out */ System::Classes::TStream* &Stream) = 0 ;
	virtual HRESULT __stdcall IFlashPlayerControlBase_CallOnUnloadExternalResourceAsync(System::Classes::TStream* Stream) = 0 ;
};

__interface  INTERFACE_UUID("{00000109-0000-0000-C000-000000000046}") IPersistStream  : public IPersist 
{
	virtual HRESULT __stdcall IsDirty(void) = 0 ;
	virtual HRESULT __stdcall Load(const _di_IStream stm) = 0 ;
	virtual HRESULT __stdcall Save(const _di_IStream stm, System::LongBool fClearDirty) = 0 ;
	virtual HRESULT __stdcall GetSizeMax(/* out */ __int64 &cbSize) = 0 ;
};

__interface  INTERFACE_UUID("{742B0E01-14E6-101B-914E-00AA00300CAB}") ISimpleFrameSite  : public System::IInterface 
{
	virtual HRESULT __stdcall PreMessageFilter(HWND wnd, int msg, int wp, int lp, /* out */ NativeInt &res, /* out */ int &Cookie) = 0 ;
	virtual HRESULT __stdcall PostMessageFilter(HWND wnd, int msg, int wp, int lp, /* out */ NativeInt &res, int Cookie) = 0 ;
};

__interface  INTERFACE_UUID("{0C733A30-2A1C-11CE-ADE5-00AA0044773D}") ISequentialStream  : public System::IInterface 
{
	virtual HRESULT __stdcall Read(void * pv, int cb, System::PLongInt pcbRead) = 0 ;
	virtual HRESULT __stdcall Write(void * pv, int cb, System::PLongInt pcbWritten) = 0 ;
};

__interface  INTERFACE_UUID("{0000000C-0000-0000-C000-000000000046}") IStream  : public ISequentialStream 
{
	virtual HRESULT __stdcall Seek(__int64 dlibMove, int dwOrigin, /* out */ __int64 &libNewPosition) = 0 ;
	virtual HRESULT __stdcall SetSize(__int64 libNewSize) = 0 ;
	virtual HRESULT __stdcall CopyTo(_di_IStream stm, __int64 cb, /* out */ __int64 &cbRead, /* out */ __int64 &cbWritten) = 0 ;
	virtual HRESULT __stdcall Commit(int grfCommitFlags) = 0 ;
	virtual HRESULT __stdcall Revert(void) = 0 ;
	virtual HRESULT __stdcall LockRegion(__int64 libOffset, __int64 cb, int dwLockType) = 0 ;
	virtual HRESULT __stdcall UnlockRegion(__int64 libOffset, __int64 cb, int dwLockType) = 0 ;
	virtual HRESULT __stdcall Stat(/* out */ tagSTATSTG &statstg, int grfStatFlag) = 0 ;
	virtual HRESULT __stdcall Clone(/* out */ _di_IStream &stm) = 0 ;
};

__interface  INTERFACE_UUID("{9C2CAD80-3424-11CF-B670-00AA004CD6D8}") IOleInPlaceSiteEx  : public IOleInPlaceSite 
{
	virtual HRESULT __stdcall OnInPlaceActivateEx(PBOOL fNoRedraw, unsigned dwFlags) = 0 ;
	virtual HRESULT __stdcall OnInPlaceDeActivateEx(System::LongBool fNoRedraw) = 0 ;
	virtual HRESULT __stdcall RequestUIActivate(void) = 0 ;
};

__interface  INTERFACE_UUID("{00000101-0000-0000-C000-000000000046}") IEnumString  : public System::IInterface 
{
	virtual HRESULT __stdcall Next(int celt, /* out */ void *elt, System::PLongInt pceltFetched) = 0 ;
	virtual HRESULT __stdcall Skip(int celt) = 0 ;
	virtual HRESULT __stdcall Reset(void) = 0 ;
	virtual HRESULT __stdcall Clone(/* out */ _di_IEnumString &enm) = 0 ;
};

typedef _di_IMoniker *PIMoniker;

__interface  INTERFACE_UUID("{00000102-0000-0000-C000-000000000046}") IEnumMoniker  : public System::IInterface 
{
	virtual HRESULT __stdcall Next(int celt, /* out */ void *elt, System::PLongInt pceltFetched) = 0 ;
	virtual HRESULT __stdcall Skip(int celt) = 0 ;
	virtual HRESULT __stdcall Reset(void) = 0 ;
	virtual HRESULT __stdcall Clone(/* out */ _di_IEnumMoniker &enm) = 0 ;
};

__interface  INTERFACE_UUID("{00000010-0000-0000-C000-000000000046}") IRunningObjectTable  : public System::IInterface 
{
	virtual HRESULT __stdcall Register(int grfFlags, const System::_di_IInterface unkObject, const _di_IMoniker mkObjectName, /* out */ int &dwRegister) = 0 ;
	virtual HRESULT __stdcall Revoke(int dwRegister) = 0 ;
	virtual HRESULT __stdcall IsRunning(const _di_IMoniker mkObjectName) = 0 ;
	virtual HRESULT __stdcall GetObject(const _di_IMoniker mkObjectName, /* out */ System::_di_IInterface &unkObject) = 0 ;
	virtual HRESULT __stdcall NoteChangeTime(int dwRegister, const _FILETIME filetime) = 0 ;
	virtual HRESULT __stdcall GetTimeOfLastChange(const _di_IMoniker mkObjectName, /* out */ _FILETIME &filetime) = 0 ;
	virtual HRESULT __stdcall EnumRunning(/* out */ _di_IEnumMoniker &enumMoniker) = 0 ;
};

__interface  INTERFACE_UUID("{00000112-0000-0000-C000-000000000046}") IOleObject  : public System::IInterface 
{
	virtual HRESULT __stdcall SetClientSite(const _di_IOleClientSite clientSite) = 0 ;
	virtual HRESULT __stdcall GetClientSite(/* out */ _di_IOleClientSite &clientSite) = 0 ;
	virtual HRESULT __stdcall SetHostNames(System::WideChar * szContainerApp, System::WideChar * szContainerObj) = 0 ;
	virtual HRESULT __stdcall Close(int dwSaveOption) = 0 ;
	virtual HRESULT __stdcall SetMoniker(int dwWhichMoniker, const _di_IMoniker mk) = 0 ;
	virtual HRESULT __stdcall GetMoniker(int dwAssign, int dwWhichMoniker, /* out */ _di_IMoniker &mk) = 0 ;
	virtual HRESULT __stdcall InitFromData(const _di_IDataObject dataObject, System::LongBool fCreation, int dwReserved) = 0 ;
	virtual HRESULT __stdcall GetClipboardData(int dwReserved, /* out */ _di_IDataObject &dataObject) = 0 ;
	virtual HRESULT __stdcall DoVerb(int iVerb, Winapi::Windows::PMsg msg, const _di_IOleClientSite activeSite, int lindex, HWND hwndParent, System::Types::PRect posRect) = 0 ;
	virtual HRESULT __stdcall EnumVerbs(/* out */ _di_IEnumOLEVERB &enumOleVerb) = 0 ;
	virtual HRESULT __stdcall Update(void) = 0 ;
	virtual HRESULT __stdcall IsUpToDate(void) = 0 ;
	virtual HRESULT __stdcall GetUserClassID(/* out */ GUID &clsid) = 0 ;
	virtual HRESULT __stdcall GetUserType(int dwFormOfType, /* out */ System::WideChar * &pszUserType) = 0 ;
	virtual HRESULT __stdcall SetExtent(int dwDrawAspect, System::Types::PPoint size) = 0 ;
	virtual HRESULT __stdcall GetExtent(int dwDrawAspect, /* out */ System::Types::TPoint &size) = 0 ;
	virtual HRESULT __stdcall Advise(const _di_IAdviseSink advSink, /* out */ int &dwConnection) = 0 ;
	virtual HRESULT __stdcall Unadvise(int dwConnection) = 0 ;
	virtual HRESULT __stdcall EnumAdvise(/* out */ _di_IEnumSTATDATA &enumAdvise) = 0 ;
	virtual HRESULT __stdcall GetMiscStatus(int dwAspect, /* out */ int &dwStatus) = 0 ;
	virtual HRESULT __stdcall SetColorScheme(const tagLOGPALETTE logpal) = 0 ;
};

__interface  INTERFACE_UUID("{00000122-0000-0000-C000-000000000046}") IDropTarget  : public System::IInterface 
{
	virtual HRESULT __stdcall DragEnter(const _di_IDataObject dataObj, int grfKeyState, System::Types::TPoint pt, int &dwEffect) = 0 ;
	virtual HRESULT __stdcall DragOver(int grfKeyState, System::Types::TPoint pt, int &dwEffect) = 0 ;
	virtual HRESULT __stdcall DragLeave(void) = 0 ;
	virtual HRESULT __stdcall Drop(const _di_IDataObject dataObj, int grfKeyState, System::Types::TPoint pt, int &dwEffect) = 0 ;
};

__interface  INTERFACE_UUID("{0000010D-0000-0000-C000-000000000046}") IViewObject  : public System::IInterface 
{
	virtual HRESULT __stdcall Draw(int dwDrawAspect, int lindex, void * pvAspect, Winapi::Activex::PDVTargetDevice ptd, HDC hicTargetDev, HDC hdcDraw, System::Types::PRect prcBounds, System::Types::PRect prcWBounds, Winapi::Activex::TContinueFunc fnContinue, int dwContinue) = 0 ;
	virtual HRESULT __stdcall GetColorSet(int dwDrawAspect, int lindex, void * pvAspect, Winapi::Activex::PDVTargetDevice ptd, HDC hicTargetDev, /* out */ Winapi::Windows::PLogPalette &colorSet) = 0 ;
	virtual HRESULT __stdcall Freeze(int dwDrawAspect, int lindex, void * pvAspect, /* out */ int &dwFreeze) = 0 ;
	virtual HRESULT __stdcall Unfreeze(int dwFreeze) = 0 ;
	virtual HRESULT __stdcall SetAdvise(int aspects, int advf, const _di_IAdviseSink advSink) = 0 ;
	virtual HRESULT __stdcall GetAdvise(System::PLongInt pAspects, System::PLongInt pAdvf, /* out */ _di_IAdviseSink &advSink) = 0 ;
};

__interface  INTERFACE_UUID("{00000100-0000-0000-C000-000000000046}") IEnumUnknown  : public System::IInterface 
{
	virtual HRESULT __stdcall Next(int celt, /* out */ void *elt, System::PLongInt pceltFetched) = 0 ;
	virtual HRESULT __stdcall Skip(int celt) = 0 ;
	virtual HRESULT __stdcall Reset(void) = 0 ;
	virtual HRESULT __stdcall Clone(/* out */ _di_IEnumUnknown &enm) = 0 ;
};

typedef TBindOpts *PBindOpts;

struct DECLSPEC_DRECORD TBindOpts
{
public:
	int cbStruct;
	int grfFlags;
	int grfMode;
	int dwTickCountDeadline;
};


__interface  INTERFACE_UUID("{0000000E-0000-0000-C000-000000000046}") IBindCtx  : public System::IInterface 
{
	virtual HRESULT __stdcall RegisterObjectBound(const System::_di_IInterface unk) = 0 ;
	virtual HRESULT __stdcall RevokeObjectBound(const System::_di_IInterface unk) = 0 ;
	virtual HRESULT __stdcall ReleaseBoundObjects(void) = 0 ;
	virtual HRESULT __stdcall SetBindOptions(const TBindOpts &bindopts) = 0 ;
	virtual HRESULT __stdcall GetBindOptions(TBindOpts &bindopts) = 0 ;
	virtual HRESULT __stdcall GetRunningObjectTable(/* out */ _di_IRunningObjectTable &rot) = 0 ;
	virtual HRESULT __stdcall RegisterObjectParam(System::WideChar * pszKey, const System::_di_IInterface unk) = 0 ;
	virtual HRESULT __stdcall GetObjectParam(System::WideChar * pszKey, /* out */ System::_di_IInterface &unk) = 0 ;
	virtual HRESULT __stdcall EnumObjectParam(/* out */ _di_IEnumString &pEnumString) = 0 ;
	virtual HRESULT __stdcall RevokeObjectParam(System::WideChar * pszKey) = 0 ;
};

__interface  INTERFACE_UUID("{0000011A-0000-0000-C000-000000000046}") IParseDisplayName  : public System::IInterface 
{
	virtual HRESULT __stdcall ParseDisplayName(const _di_IBindCtx bc, System::WideChar * pszDisplayName, /* out */ int &chEaten, /* out */ _di_IMoniker &mkOut) = 0 ;
};

__interface  INTERFACE_UUID("{0000011B-0000-0000-C000-000000000046}") IOleContainer  : public IParseDisplayName 
{
	virtual HRESULT __stdcall EnumObjects(int grfFlags, /* out */ _di_IEnumUnknown &pEnumUnknown) = 0 ;
	virtual HRESULT __stdcall LockContainer(System::LongBool fLock) = 0 ;
};

__interface  INTERFACE_UUID("{00000118-0000-0000-C000-000000000046}") IOleClientSite  : public System::IInterface 
{
	virtual HRESULT __stdcall SaveObject(void) = 0 ;
	virtual HRESULT __stdcall GetMoniker(int dwAssign, int dwWhichMoniker, /* out */ _di_IMoniker &mk) = 0 ;
	virtual HRESULT __stdcall GetContainer(/* out */ _di_IOleContainer &container) = 0 ;
	virtual HRESULT __stdcall ShowObject(void) = 0 ;
	virtual HRESULT __stdcall OnShowWindow(System::LongBool fShow) = 0 ;
	virtual HRESULT __stdcall RequestNewObjectLayout(void) = 0 ;
};

__interface  INTERFACE_UUID("{0000000F-0000-0000-C000-000000000046}") IMoniker  : public IPersistStream 
{
	virtual HRESULT __stdcall BindToObject(const _di_IBindCtx bc, const _di_IMoniker mkToLeft, const GUID &iidResult, /* out */ void *vResult) = 0 ;
	virtual HRESULT __stdcall BindToStorage(const _di_IBindCtx bc, const _di_IMoniker mkToLeft, const GUID &iid, /* out */ void *vObj) = 0 ;
	virtual HRESULT __stdcall Reduce(const _di_IBindCtx bc, int dwReduceHowFar, PIMoniker mkToLeft, /* out */ _di_IMoniker &mkReduced) = 0 ;
	virtual HRESULT __stdcall ComposeWith(const _di_IMoniker mkRight, System::LongBool fOnlyIfNotGeneric, /* out */ _di_IMoniker &mkComposite) = 0 ;
	virtual HRESULT __stdcall Enum(System::LongBool fForward, /* out */ _di_IEnumMoniker &enumMoniker) = 0 ;
	virtual HRESULT __stdcall IsEqual(const _di_IMoniker mkOtherMoniker) = 0 ;
	virtual HRESULT __stdcall Hash(/* out */ int &dwHash) = 0 ;
	virtual HRESULT __stdcall IsRunning(const _di_IBindCtx bc, const _di_IMoniker mkToLeft, const _di_IMoniker mkNewlyRunning) = 0 ;
	virtual HRESULT __stdcall GetTimeOfLastChange(const _di_IBindCtx bc, const _di_IMoniker mkToLeft, /* out */ _FILETIME &filetime) = 0 ;
	virtual HRESULT __stdcall Inverse(/* out */ _di_IMoniker &mk) = 0 ;
	virtual HRESULT __stdcall CommonPrefixWith(const _di_IMoniker mkOther, /* out */ _di_IMoniker &mkPrefix) = 0 ;
	virtual HRESULT __stdcall RelativePathTo(const _di_IMoniker mkOther, /* out */ _di_IMoniker &mkRelPath) = 0 ;
	virtual HRESULT __stdcall GetDisplayName(const _di_IBindCtx bc, const _di_IMoniker mkToLeft, /* out */ System::WideChar * &pszDisplayName) = 0 ;
	virtual HRESULT __stdcall ParseDisplayName(const _di_IBindCtx bc, const _di_IMoniker mkToLeft, System::WideChar * pszDisplayName, /* out */ int &chEaten, /* out */ _di_IMoniker &mkOut) = 0 ;
	virtual HRESULT __stdcall IsSystemMoniker(/* out */ int &dwMksys) = 0 ;
};

__interface  INTERFACE_UUID("{D27CDB6D-AE6D-11CF-96B8-444553540000}") DShockwaveFlashEvents  : public IDispatch 
{
	
};

typedef _DDPIXELFORMAT *PDDPixelFormat;

struct DECLSPEC_DRECORD _DDPIXELFORMAT
{
public:
	unsigned dwSize;
	unsigned dwFlags;
	unsigned dwFourCC;
	
public:
	union
	{
		struct 
		{
			unsigned dwBumpBitCount;
		};
		struct 
		{
			unsigned dwLuminanceBitCount;
			unsigned dwBumpDuBitMask;
			unsigned Fill1;
			unsigned Fill2;
			unsigned dwYUVZBitMask;
		};
		struct 
		{
			unsigned dwAlphaBitDepth;
			unsigned dwLuminanceBitMask;
			unsigned dwBumpDvBitMask;
			unsigned dwBumpLuminanceBitMask;
			unsigned dwRGBZBitMask;
		};
		struct 
		{
			unsigned dwZBufferBitDepth;
			unsigned dwStencilBitDepth;
			unsigned dwZBitMask;
			unsigned dwStencilBitMask;
			unsigned dwLuminanceAlphaBitMask;
		};
		struct 
		{
			unsigned dwYUVBitCount;
			unsigned dwYBitMask;
			unsigned dwUBitMask;
			unsigned dwVBitMask;
			unsigned dwYUVAlphaBitMask;
		};
		struct 
		{
			unsigned dwRGBBitCount;
			unsigned dwRBitMask;
			unsigned dwGBitMask;
			unsigned dwBBitMask;
			unsigned dwRGBAlphaBitMask;
		};
		
	};
};


typedef _DDPIXELFORMAT DDPIXELFORMAT;

typedef _DDPIXELFORMAT TDDPixelFormat;

typedef _DDCOLORKEY *PDDColorKey;

struct DECLSPEC_DRECORD _DDCOLORKEY
{
public:
	unsigned dwColorSpaceLowValue;
	unsigned dwColorSpaceHighValue;
};


typedef _DDCOLORKEY DDCOLORKEY;

typedef _DDCOLORKEY TDDColorKey;

typedef _DDSCAPS *PDDSCaps;

struct DECLSPEC_DRECORD _DDSCAPS
{
public:
	unsigned dwCaps;
};


typedef _DDSCAPS DDSCAPS;

typedef _DDSCAPS TDDSCaps;

typedef _DDSURFACEDESC *PDDSurfaceDesc;

struct DECLSPEC_DRECORD _DDSURFACEDESC
{
public:
	unsigned dwSize;
	unsigned dwFlags;
	unsigned dwHeight;
	unsigned dwWidth;
	
public:
	union
	{
		struct 
		{
			int lPitch;
			unsigned dwBackBufferCount;union
			{
				struct 
				{
					unsigned dwRefreshRate;
				};
				struct 
				{
					unsigned dwZBufferBitDepth;
				};
				struct 
				{
					unsigned dwMipMapCount;
					unsigned dwAlphaBitDepth;
					unsigned dwReserved;
					void *lpSurface;
					_DDCOLORKEY ddckCKDestOverlay;
					_DDCOLORKEY ddckCKDestBlt;
					_DDCOLORKEY ddckCKSrcOverlay;
					_DDCOLORKEY ddckCKSrcBlt;
					_DDPIXELFORMAT ddpfPixelFormat;
					_DDSCAPS ddsCaps;
					unsigned dwFiller;
				};
				
			};
		};
		struct 
		{
			unsigned dwLinearSize;
		};
		
	};
};


typedef _DDSURFACEDESC DDSURFACEDESC;

typedef _DDSURFACEDESC TDDSurfaceDesc;

__interface  INTERFACE_UUID("{6C14DB81-A733-11CE-A521-0020AF0BE560}") IDirectDrawSurface  : public System::IInterface 
{
	virtual HRESULT __stdcall unusuable_method_0(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_1(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_2(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_3(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_4(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_5(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_6(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_7(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_8(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_9(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_10(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_11(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_12(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_13(void) = 0 ;
	virtual HRESULT __stdcall GetDC(/* out */ HDC &phDC) = 0 ;
	virtual HRESULT __stdcall unusuable_method_15(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_16(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_17(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_18(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_19(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_20(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_21(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_22(void) = 0 ;
	virtual HRESULT __stdcall ReleaseDC(HDC hDC) = 0 ;
};

__interface  INTERFACE_UUID("{6C14DB80-A733-11CE-A521-0020AF0BE560}") IDirectDraw  : public System::IInterface 
{
	virtual HRESULT __stdcall unusuable_method_0(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_1(void) = 0 ;
	virtual HRESULT __stdcall unusuable_method_2(void) = 0 ;
	virtual HRESULT __stdcall CreateSurface(_DDSURFACEDESC &pDDSurfaceDesc, /* out */ _di_IDirectDrawSurface &ppDDSurface, System::_di_IInterface pUnkOuter) = 0 ;
};

__interface  INTERFACE_UUID("{4FD2A833-86C8-11D0-8FCA-00C04FD9189D}") IDirectDrawFactory  : public System::IInterface 
{
	virtual HRESULT __stdcall CreateDirectDraw(System::PGUID pGUID, HWND hWnd, unsigned dwCoopLevelFlags, unsigned dwReserved, System::_di_IInterface pUnkOuter, /* out */ _di_IDirectDraw &pDirectDraw) = 0 ;
};

__interface  INTERFACE_UUID("{3050F361-98B5-11CF-BB82-00AA00BDCE0B}") ITimerSink  : public System::IInterface 
{
	virtual HRESULT __stdcall OnTimer(const System::Variant &vtimeAdvise) = 0 ;
};

__interface  INTERFACE_UUID("{3050F360-98B5-11CF-BB82-00AA00BDCE0B}") ITimer  : public System::IInterface 
{
	virtual HRESULT __stdcall Advise(const System::Variant &vtimeMin, const System::Variant &vtimeMax, const System::Variant &vtimeInterval, unsigned dwFlags, _di_ITimerSink pTimerSink, /* out */ unsigned &dwCookie) = 0 ;
	virtual HRESULT __stdcall Unadvise(unsigned dwCookie) = 0 ;
	virtual HRESULT __stdcall Freeze(System::LongBool fFreeze) = 0 ;
	virtual HRESULT __stdcall GetTime(System::Variant &pvtime) = 0 ;
};

__interface  INTERFACE_UUID("{3050F35F-98B5-11CF-BB82-00AA00BDCE0B}") ITimerService  : public System::IInterface 
{
	virtual HRESULT __stdcall CreateTimer(_di_ITimer pReferenceTimer, _di_ITimer &pNewTimer) = 0 ;
	virtual HRESULT __stdcall GetNamedTimer(System::PGUID rguidName, _di_ITimer &pTimer) = 0 ;
	virtual HRESULT __stdcall SetNamedTimerReference(System::PGUID rguidName, _di_ITimer pReferenceTimer) = 0 ;
};

class PASCALIMPLEMENTATION TFlashPlayerControl : public Vcl::Controls::TWinControl
{
	typedef Vcl::Controls::TWinControl inherited;
	
private:
	int FRefCount;
	_di_IOleObject FOleObject;
	_di_IViewObject FViewObject;
	_di_IPersistStreamInit FPersistStream;
	_di_IOleControl FOleControl;
	_di_IDispatch FControlDispatch;
	_di_IPerPropertyBrowsing FPropBrowsing;
	_di_IOleInPlaceObject FOleInPlaceObject;
	_di_IOleInPlaceActiveObject FOleInPlaceActiveObject;
	int FPropConnection;
	int FMiscStatus;
	_di_IConnectionPoint m_pFlashConnectionPoint;
	bool m_bListenNativeEvents;
	int m_nNativeEventsCookie;
	TFlashPlayerControlOnReadyStateChange FOnReadyStateChange;
	TFlashPlayerControlOnProgress FOnProgress;
	TFlashPlayerControlFSCommand FOnFSCommand;
	TFlashPlayerControlFlashCall FOnFlashCall;
	TFlashPlayerControlOnLoadExternalResource FOnLoadExternalResource;
	TFlashPlayerControlOnLoadExternalResourceEx FOnLoadExternalResourceEx;
	TFlashPlayerControlOnLoadExternalResourceAsync FOnLoadExternalResourceAsync;
	TFlashPlayerControlOnUnloadExternalResourceAsync FOnUnloadExternalResourceAsync;
	int FReadyState;
	int FTotalFrames;
	System::WideString FMovie;
	int FFrameNum;
	bool FPlaying;
	int FQuality;
	int FScaleMode;
	int FAlignMode;
	int FBackgroundColor;
	bool FLoop;
	System::WideString FWMode;
	System::WideString FSAlign;
	bool FMenu;
	System::WideString FBase;
	System::WideString FScale;
	bool FDeviceFont;
	bool FEmbedMovie;
	System::WideString FBGColor;
	System::WideString FQuality2;
	System::WideString FSWRemote;
	System::WideString FStacking;
	System::WideString FFlashVars;
	System::WideString FAllowScriptAccess;
	System::WideString FMovieData;
	bool FAllowFullscreen;
	bool FStandartMenu;
	int __fastcall GetFlashVersion(void);
	int __fastcall InternalGetFlashVersion(void);
	void __fastcall CreateControl(void);
	void __fastcall CreateInstance(void);
	void __fastcall DestroyControl(void);
	Vcl::Menus::TMainMenu* __fastcall GetMainMenu(void);
	System::Variant __fastcall GetOleObject(void);
	void __fastcall HookControlWndProc(void);
	void __fastcall SetUIActive(bool Active);
	HIDESBASE MESSAGE void __fastcall WMEraseBkgnd(Winapi::Messages::TWMEraseBkgnd &Message);
	HIDESBASE MESSAGE void __fastcall WMPaint(Winapi::Messages::TWMPaint &Message);
	MESSAGE void __fastcall CMDocWindowActivate(Winapi::Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall CMDialogKey(Winapi::Messages::TMessage &Message);
	MESSAGE void __fastcall CMUIActivate(Winapi::Messages::TMessage &Message);
	MESSAGE void __fastcall CMUIDeactivate(Winapi::Messages::TMessage &Message);
	HIDESBASE MESSAGE void __fastcall WMLButtonDown(Winapi::Messages::TWMMouse &Message);
	HIDESBASE MESSAGE void __fastcall WMRButtonDown(Winapi::Messages::TWMMouse &Message);
	HIDESBASE MESSAGE void __fastcall WMMButtonDown(Winapi::Messages::TWMMouse &Message);
	HIDESBASE MESSAGE void __fastcall WMLButtonDblClk(Winapi::Messages::TWMMouse &Message);
	HIDESBASE MESSAGE void __fastcall WMRButtonDblClk(Winapi::Messages::TWMMouse &Message);
	HIDESBASE MESSAGE void __fastcall WMMButtonDblClk(Winapi::Messages::TWMMouse &Message);
	HIDESBASE MESSAGE void __fastcall WMMouseMove(Winapi::Messages::TWMMouse &Message);
	HIDESBASE MESSAGE void __fastcall WMLButtonUp(Winapi::Messages::TWMMouse &Message);
	HIDESBASE MESSAGE void __fastcall WMRButtonUp(Winapi::Messages::TWMMouse &Message);
	HIDESBASE MESSAGE void __fastcall WMMButtonUp(Winapi::Messages::TWMMouse &Message);
	HIDESBASE void __fastcall DoMouseDown(Winapi::Messages::TWMMouse &Message, System::Uitypes::TMouseButton Button, System::Classes::TShiftState Shift);
	HIDESBASE void __fastcall DoMouseUp(Winapi::Messages::TWMMouse &Message, System::Uitypes::TMouseButton Button);
	
protected:
	virtual HRESULT __stdcall QueryInterface(const GUID &IID, /* out */ void *Obj);
	HIDESBASE int __stdcall _AddRef(void);
	HIDESBASE int __stdcall _Release(void);
	HRESULT __stdcall SaveObject(void);
	HRESULT __stdcall GetMoniker(int dwAssign, int dwWhichMoniker, /* out */ _di_IMoniker &mk);
	HRESULT __stdcall GetContainer(/* out */ _di_IOleContainer &container);
	HRESULT __stdcall ShowObject(void);
	HRESULT __stdcall OnShowWindow(System::LongBool fShow);
	HRESULT __stdcall RequestNewObjectLayout(void);
	HRESULT __stdcall OnControlInfoChanged(void);
	HRESULT __stdcall LockInPlaceActive(System::LongBool fLock);
	HRESULT __stdcall GetExtendedControl(/* out */ _di_IDispatch &disp);
	HRESULT __stdcall TransformCoords(System::Types::TPoint &ptlHimetric, System::Types::TPointF &ptfContainer, int flags);
	HRESULT __stdcall OleControlSite_TranslateAccelerator(Winapi::Windows::PMsg msg, int grfModifiers);
	HRESULT __stdcall OnFocus(System::LongBool fGotFocus);
	HRESULT __stdcall ShowPropertyFrame(void);
	HRESULT __stdcall GetWindow(/* out */ HWND &WindowHandle);
	HRESULT __stdcall ContextSensitiveHelp(System::LongBool fEnterMode);
	HRESULT __stdcall OleInPlaceSite_GetWindow(/* out */ HWND &wnd);
	HRESULT __stdcall CanInPlaceActivate(void);
	HRESULT __stdcall OnInPlaceActivate(void);
	HRESULT __stdcall OnUIActivate(void);
	HRESULT __stdcall GetWindowContext(/* out */ _di_IOleInPlaceFrame &frame, /* out */ _di_IOleInPlaceUIWindow &doc, /* out */ System::Types::TRect &rcPosRect, /* out */ System::Types::TRect &rcClipRect, /* out */ tagOIFI &frameInfo);
	HRESULT __stdcall Scroll(System::Types::TPoint scrollExtent);
	HRESULT __stdcall OnUIDeactivate(System::LongBool fUndoable);
	HRESULT __stdcall OnInPlaceDeactivate(void);
	HRESULT __stdcall DiscardUndoState(void);
	HRESULT __stdcall DeactivateAndUndo(void);
	HRESULT __stdcall OnPosRectChange(const System::Types::TRect &rcPosRect);
	HRESULT __stdcall GetBorder(/* out */ System::Types::TRect &rectBorder);
	HRESULT __stdcall RequestBorderSpace(const System::Types::TRect &borderwidths);
	HRESULT __stdcall SetBorderSpace(System::Types::PRect pborderwidths);
	HRESULT __stdcall SetActiveObject(const _di_IOleInPlaceActiveObject activeObject, System::WideChar * pszObjName);
	HRESULT __stdcall OleInPlaceFrame_GetWindow(/* out */ HWND &wnd);
	HRESULT __stdcall InsertMenus(HMENU hmenuShared, tagOleMenuGroupWidths &menuWidths);
	HRESULT __stdcall SetMenu(HMENU hmenuShared, HMENU holemenu, HWND hwndActiveObject);
	HRESULT __stdcall RemoveMenus(HMENU hmenuShared);
	HRESULT __stdcall SetStatusText(System::WideChar * pszStatusText);
	HRESULT __stdcall EnableModeless(System::LongBool fEnable);
	HRESULT __stdcall OleInPlaceFrame_TranslateAccelerator(tagMSG &msg, System::Word wID);
	HIDESBASE HRESULT __stdcall GetTypeInfoCount(/* out */ int &Count);
	HIDESBASE HRESULT __stdcall GetTypeInfo(int Index, int LocaleID, /* out */ void *TypeInfo);
	HIDESBASE HRESULT __stdcall GetIDsOfNames(const GUID &IID, void * Names, int NameCount, int LocaleID, void * DispIDs);
	HIDESBASE HRESULT __stdcall Invoke(int DispID, const GUID &IID, int LocaleID, System::Word Flags, void *Params, void * VarResult, void * ExcepInfo, void * ArgErr);
	HRESULT __stdcall PreMessageFilter(HWND wnd, int msg, int wp, int lp, /* out */ NativeInt &res, /* out */ int &Cookie);
	HRESULT __stdcall PostMessageFilter(HWND wnd, int msg, int wp, int lp, /* out */ NativeInt &res, int Cookie);
	virtual void __fastcall CreateWnd(void);
	virtual void __fastcall DestroyWindowHandle(void);
	DYNAMIC bool __fastcall PaletteChanged(bool Foreground);
	virtual void __fastcall SetParent(Vcl::Controls::TWinControl* AParent);
	virtual void __fastcall WndProc(Winapi::Messages::TMessage &Message);
	virtual HRESULT __stdcall OnChanged(int dispid);
	virtual HRESULT __stdcall OnRequestEdit(int dispid);
	HRESULT __stdcall IFlashPlayerControlBase_PutMovie(System::WideString NewMovie);
	HRESULT __stdcall IFlashPlayerControlBase_LoadMovie(int Layer, const System::WideString url);
	HRESULT __stdcall IFlashPlayerControlBase_GetBase(System::WideString &url);
	HRESULT __stdcall IFlashPlayerControlBase_CallOnLoadExternalResource(const System::WideString URL, System::Classes::TStream* Stream);
	HRESULT __stdcall IFlashPlayerControlBase_CallOnLoadExternalResourceEx(const System::WideString URL, System::Classes::TStream* Stream, /* out */ bool &bHandled);
	HRESULT __stdcall IFlashPlayerControlBase_CallOnLoadExternalResourceAsync(const System::WideString Path, /* out */ System::Classes::TStream* &Stream);
	HRESULT __stdcall IFlashPlayerControlBase_CallOnUnloadExternalResourceAsync(System::Classes::TStream* Stream);
	
public:
	__fastcall virtual TFlashPlayerControl(System::Classes::TComponent* AOwner);
	__fastcall virtual ~TFlashPlayerControl(void);
	__property System::Variant OleObject = {read=GetOleObject};
	Vcl::Graphics::TBitmap* __fastcall CreateFrameBitmap(void);
	virtual void __fastcall DefaultHandler(void *Message);
	virtual void __fastcall SetBounds(int ALeft, int ATop, int AWidth, int AHeight);
	virtual void __fastcall LoadMovieFromStream(int layer, System::Classes::TStream* AStream);
	virtual void __fastcall PutMovieFromStream(System::Classes::TStream* AStream);
	virtual void __fastcall LoadMovieUsingStream(int layer, /* out */ System::Classes::TStream* &AStream);
	virtual void __fastcall PutMovieUsingStream(/* out */ System::Classes::TStream* &AStream);
	HRESULT __stdcall QueryService(const GUID &rsid, const GUID &iid, /* out */ void *Obj);
	virtual void __fastcall SetZoomRect(int left, int top, int right, int bottom);
	virtual void __fastcall Zoom(int factor);
	virtual void __fastcall Pan(int x, int y, int mode);
	virtual void __fastcall Play(void);
	virtual void __fastcall Stop(void);
	virtual void __fastcall Back(void);
	virtual void __fastcall Forward(void);
	virtual void __fastcall Rewind(void);
	virtual void __fastcall StopPlay(void);
	virtual void __fastcall GotoFrame(int FrameNum);
	virtual int __fastcall CurrentFrame(void);
	virtual System::WordBool __fastcall IsPlaying(void);
	virtual int __fastcall PercentLoaded(void);
	virtual System::WordBool __fastcall FrameLoaded(int FrameNum);
	virtual int __fastcall FlashVersion(void);
	virtual void __fastcall LoadMovie(int layer, const System::WideString url);
	virtual void __fastcall TGotoFrame(const System::WideString target, int FrameNum);
	virtual void __fastcall TGotoLabel(const System::WideString target, const System::WideString label_);
	virtual int __fastcall TCurrentFrame(const System::WideString target);
	virtual System::WideString __fastcall TCurrentLabel(const System::WideString target);
	virtual void __fastcall TPlay(const System::WideString target);
	virtual void __fastcall TStopPlay(const System::WideString target);
	virtual void __fastcall SetVariable(const System::WideString name, const System::WideString value);
	virtual System::WideString __fastcall GetVariable(const System::WideString name);
	virtual void __fastcall TSetProperty(const System::WideString target, int property_, const System::WideString value);
	virtual System::WideString __fastcall TGetProperty(const System::WideString target, int property_);
	virtual void __fastcall TCallFrame(const System::WideString target, int FrameNum);
	virtual void __fastcall TCallLabel(const System::WideString target, const System::WideString label_);
	virtual void __fastcall TSetPropertyNum(const System::WideString target, int property_, double value);
	virtual double __fastcall TGetPropertyNum(const System::WideString target, int property_);
	virtual double __fastcall TGetPropertyAsNumber(const System::WideString target, int property_);
	virtual System::WideString __fastcall CallFunction(const System::WideString request);
	virtual void __fastcall SetReturnValue(const System::WideString returnValue);
	virtual int __fastcall GetReadyState(void);
	virtual int __fastcall GetTotalFrames(void);
	virtual System::WideString __fastcall GetMovie(void);
	virtual void __fastcall PutMovie(System::WideString NewMovie);
	virtual int __fastcall GetFrameNum(void);
	virtual void __fastcall PutFrameNum(int NewFrameNum);
	virtual bool __fastcall GetPlaying(void);
	virtual void __fastcall PutPlaying(bool NewPlaying);
	virtual int __fastcall GetQuality(void);
	virtual void __fastcall PutQuality(int NewQuality);
	virtual int __fastcall GetScaleMode(void);
	virtual void __fastcall PutScaleMode(int NewScaleMode);
	virtual int __fastcall GetAlignMode(void);
	virtual void __fastcall PutAlignMode(int NewAlignMode);
	virtual int __fastcall GetBackgroundColor(void);
	virtual void __fastcall PutBackgroundColor(int NewBackgroundColor);
	virtual bool __fastcall GetLoop(void);
	virtual void __fastcall PutLoop(bool NewLoop);
	virtual System::WideString __fastcall GetWMode(void);
	virtual void __fastcall PutWMode(System::WideString NewWMode);
	virtual System::WideString __fastcall GetSAlign(void);
	virtual void __fastcall PutSAlign(System::WideString NewSAlign);
	virtual bool __fastcall GetMenu(void);
	virtual void __fastcall PutMenu(bool NewMenu);
	virtual System::WideString __fastcall GetBase(void);
	virtual void __fastcall PutBase(System::WideString NewBase);
	virtual System::WideString __fastcall GetScale(void);
	virtual void __fastcall PutScale(System::WideString NewScale);
	virtual bool __fastcall GetDeviceFont(void);
	virtual void __fastcall PutDeviceFont(bool NewDeviceFont);
	virtual bool __fastcall GetEmbedMovie(void);
	virtual void __fastcall PutEmbedMovie(bool NewEmbedMovie);
	virtual System::WideString __fastcall GetBGColor(void);
	virtual void __fastcall PutBGColor(System::WideString NewBGColor);
	virtual System::WideString __fastcall GetQuality2(void);
	virtual void __fastcall PutQuality2(System::WideString NewQuality2);
	virtual System::WideString __fastcall GetSWRemote(void);
	virtual void __fastcall PutSWRemote(System::WideString NewSWRemote);
	virtual System::WideString __fastcall GetStacking(void);
	virtual void __fastcall PutStacking(System::WideString NewStacking);
	virtual System::WideString __fastcall GetFlashVars(void);
	virtual void __fastcall PutFlashVars(System::WideString NewFlashVars);
	virtual System::WideString __fastcall GetAllowScriptAccess(void);
	virtual void __fastcall PutAllowScriptAccess(System::WideString NewAllowScriptAccess);
	virtual System::WideString __fastcall GetMovieData(void);
	virtual void __fastcall PutMovieData(System::WideString NewMovieData);
	virtual bool __fastcall GetAllowFullscreen(void);
	virtual void __fastcall PutAllowFullscreen(bool bAllowFullscreen);
	__property int ReadyState = {read=GetReadyState, nodefault};
	__property int TotalFrames = {read=GetTotalFrames, nodefault};
	
__published:
	__property Anchors = {default=3};
	__property TabStop = {default=1};
	__property Align = {default=0};
	__property DragCursor = {default=-12};
	__property DragMode = {default=0};
	__property ParentShowHint = {default=1};
	__property PopupMenu;
	__property ShowHint;
	__property TabOrder = {default=-1};
	__property Visible = {default=1};
	__property OnDragDrop;
	__property OnDragOver;
	__property OnEndDrag;
	__property OnEnter;
	__property OnExit;
	__property OnStartDrag;
	__property TFlashPlayerControlOnReadyStateChange OnReadyStateChange = {read=FOnReadyStateChange, write=FOnReadyStateChange};
	__property TFlashPlayerControlOnProgress OnProgress = {read=FOnProgress, write=FOnProgress};
	__property TFlashPlayerControlFSCommand OnFSCommand = {read=FOnFSCommand, write=FOnFSCommand};
	__property TFlashPlayerControlFlashCall OnFlashCall = {read=FOnFlashCall, write=FOnFlashCall};
	__property TFlashPlayerControlOnLoadExternalResource OnLoadExternalResource = {read=FOnLoadExternalResource, write=FOnLoadExternalResource};
	__property TFlashPlayerControlOnLoadExternalResourceEx OnLoadExternalResourceEx = {read=FOnLoadExternalResourceEx, write=FOnLoadExternalResourceEx};
	__property TFlashPlayerControlOnLoadExternalResourceAsync OnLoadExternalResourceAsync = {read=FOnLoadExternalResourceAsync, write=FOnLoadExternalResourceAsync};
	__property TFlashPlayerControlOnUnloadExternalResourceAsync OnUnloadExternalResourceAsync = {read=FOnUnloadExternalResourceAsync, write=FOnUnloadExternalResourceAsync};
	__property OnDblClick;
	__property OnMouseMove;
	__property OnMouseUp;
	__property OnClick;
	__property OnMouseDown;
	__property System::WideString Movie = {read=GetMovie, write=PutMovie};
	__property int FrameNum = {read=GetFrameNum, write=PutFrameNum, nodefault};
	__property bool Playing = {read=GetPlaying, write=PutPlaying, nodefault};
	__property int Quality = {read=GetQuality, write=PutQuality, nodefault};
	__property int ScaleMode = {read=GetScaleMode, write=PutScaleMode, nodefault};
	__property int AlignMode = {read=GetAlignMode, write=PutAlignMode, nodefault};
	__property int BackgroundColor = {read=GetBackgroundColor, write=PutBackgroundColor, nodefault};
	__property bool Loop = {read=GetLoop, write=PutLoop, nodefault};
	__property System::WideString WMode = {read=GetWMode, write=PutWMode};
	__property System::WideString SAlign = {read=GetSAlign, write=PutSAlign};
	__property bool Menu = {read=GetMenu, write=PutMenu, nodefault};
	__property System::WideString Base = {read=GetBase, write=PutBase};
	__property System::WideString Scale = {read=GetScale, write=PutScale};
	__property bool DeviceFont = {read=GetDeviceFont, write=PutDeviceFont, nodefault};
	__property bool EmbedMovie = {read=GetEmbedMovie, write=PutEmbedMovie, nodefault};
	__property System::WideString BGColor = {read=GetBGColor, write=PutBGColor};
	__property System::WideString Quality2 = {read=GetQuality2, write=PutQuality2};
	__property System::WideString SWRemote = {read=GetSWRemote, write=PutSWRemote};
	__property System::WideString Stacking = {read=GetStacking, write=PutStacking};
	__property System::WideString FlashVars = {read=GetFlashVars, write=PutFlashVars};
	__property System::WideString AllowScriptAccess = {read=GetAllowScriptAccess, write=PutAllowScriptAccess};
	__property System::WideString MovieData = {read=GetMovieData, write=PutMovieData};
	__property bool AllowFullscreen = {read=GetAllowFullscreen, write=PutAllowFullscreen, nodefault};
	__property bool StandartMenu = {read=FStandartMenu, write=FStandartMenu, default=0};
public:
	/* TWinControl.CreateParented */ inline __fastcall TFlashPlayerControl(HWND ParentWindow) : Vcl::Controls::TWinControl(ParentWindow) { }
	
private:
	void *__DShockwaveFlashEvents;	// DShockwaveFlashEvents 
	void *__IServiceProvider;	// IServiceProvider 
	void *__IOleWindow;	// IOleWindow 
	void *__IFlashPlayerControlBase;	// IFlashPlayerControlBase 
	void *__ISimpleFrameSite;	// ISimpleFrameSite 
	void *__IPropertyNotifySink;	// IPropertyNotifySink 
	void *__IOleInPlaceFrame;	// IOleInPlaceFrame 
	void *__IOleInPlaceSite;	// IOleInPlaceSite 
	void *__IOleControlSite;	// IOleControlSite 
	void *__IOleClientSite;	// IOleClientSite 
	
public:
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {D27CDB6D-AE6D-11CF-96B8-444553540000}
	operator _di_DShockwaveFlashEvents()
	{
		_di_DShockwaveFlashEvents intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator DShockwaveFlashEvents*(void) { return (DShockwaveFlashEvents*)&__DShockwaveFlashEvents; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {6D5140C1-7436-11CE-8034-00AA006009FA}
	operator _di_IServiceProvider()
	{
		_di_IServiceProvider intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IServiceProvider*(void) { return (IServiceProvider*)&__IServiceProvider; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {00000114-0000-0000-C000-000000000046}
	operator _di_IOleWindow()
	{
		_di_IOleWindow intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IOleWindow*(void) { return (IOleWindow*)&__IOleWindow; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {911FA1AF-CDB2-45ED-8271-5662C59CB25D}
	operator _di_IFlashPlayerControlBase()
	{
		_di_IFlashPlayerControlBase intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IFlashPlayerControlBase*(void) { return (IFlashPlayerControlBase*)&__IFlashPlayerControlBase; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {742B0E01-14E6-101B-914E-00AA00300CAB}
	operator _di_ISimpleFrameSite()
	{
		_di_ISimpleFrameSite intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator ISimpleFrameSite*(void) { return (ISimpleFrameSite*)&__ISimpleFrameSite; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {9BFBBC02-EFF1-101A-84ED-00AA00341D07}
	operator _di_IPropertyNotifySink()
	{
		_di_IPropertyNotifySink intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IPropertyNotifySink*(void) { return (IPropertyNotifySink*)&__IPropertyNotifySink; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {00020400-0000-0000-C000-000000000046}
	operator _di_IDispatch()
	{
		_di_IDispatch intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IDispatch*(void) { return (IDispatch*)&__DShockwaveFlashEvents; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {00000116-0000-0000-C000-000000000046}
	operator _di_IOleInPlaceFrame()
	{
		_di_IOleInPlaceFrame intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IOleInPlaceFrame*(void) { return (IOleInPlaceFrame*)&__IOleInPlaceFrame; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {00000119-0000-0000-C000-000000000046}
	operator _di_IOleInPlaceSite()
	{
		_di_IOleInPlaceSite intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IOleInPlaceSite*(void) { return (IOleInPlaceSite*)&__IOleInPlaceSite; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {B196B289-BAB4-101A-B69C-00AA00341D07}
	operator _di_IOleControlSite()
	{
		_di_IOleControlSite intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IOleControlSite*(void) { return (IOleControlSite*)&__IOleControlSite; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {00000118-0000-0000-C000-000000000046}
	operator _di_IOleClientSite()
	{
		_di_IOleClientSite intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IOleClientSite*(void) { return (IOleClientSite*)&__IOleClientSite; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {00000000-0000-0000-C000-000000000046}
	operator System::_di_IInterface()
	{
		System::_di_IInterface intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator System::IInterface*(void) { return (System::IInterface*)&__DShockwaveFlashEvents; }
	#endif
	
};


#pragma pack(push,1)
struct DECLSPEC_DRECORD tagExtentInfo
{
public:
	unsigned cb;
	unsigned dwExtentMode;
	System::Types::TSize sizelProposed;
};
#pragma pack(pop)


#pragma pack(push,1)
struct DECLSPEC_DRECORD tagAspectInfo
{
public:
	unsigned cb;
	unsigned dwFlags;
};
#pragma pack(pop)


#pragma pack(push,1)
struct DECLSPEC_DRECORD tagDVEXTENTINFO
{
public:
	unsigned cb;
	unsigned dwExtentMode;
	System::Types::TSize sizelProposed;
};
#pragma pack(pop)


typedef tagDVEXTENTINFO *PDVEXTENTINFO;

__interface  INTERFACE_UUID("{3AF24292-0C96-11CE-A0CF-00AA00600AB8}") IViewObjectEx  : public IViewObject2 
{
	virtual HRESULT __stdcall GetRect(unsigned dwAspect, System::Types::PRect pRect) = 0 ;
	virtual HRESULT __stdcall GetViewStatus(/* out */ unsigned &dwStatus) = 0 ;
	virtual HRESULT __stdcall QueryHitPoint(unsigned dwAspect, const System::Types::PRect pRectBounds, System::Types::TPoint ptlLoc, int lCloseHint, /* out */ unsigned &HitResult) = 0 ;
	virtual HRESULT __stdcall QueryHitRect(unsigned dwAspect, const System::Types::PRect pRectBounds, const System::Types::PRect pRectLoc, int lCloseHint, /* out */ unsigned &HitResult) = 0 ;
	virtual HRESULT __stdcall GetNaturalExtent(unsigned dwAspect, int lindex, Winapi::Activex::PDVTargetDevice ptd, HDC hicTargetDev, PDVEXTENTINFO pExtentInfo, /* out */ System::Types::TSize &Size) = 0 ;
};

typedef int LongWord;

__interface  INTERFACE_UUID("{922EADA0-3424-11CF-B670-00AA004CD6D8}") IOleInPlaceSiteWindowless  : public IOleInPlaceSiteEx 
{
	virtual HRESULT __stdcall CanWindowlessActivate(void) = 0 ;
	virtual HRESULT __stdcall GetCapture(void) = 0 ;
	virtual HRESULT __stdcall SetCapture(System::LongBool fCapture) = 0 ;
	virtual HRESULT __stdcall GetFocus(void) = 0 ;
	virtual HRESULT __stdcall SetFocus(System::LongBool fFocus) = 0 ;
	virtual HRESULT __stdcall GetDC(System::Types::TRect &Rect, unsigned qrfFlags, HDC &hDC) = 0 ;
	virtual HRESULT __stdcall ReleaseDC(HDC hDC) = 0 ;
	virtual HRESULT __stdcall InvalidateRect(System::Types::TRect &Rect, System::LongBool fErase) = 0 ;
	virtual HRESULT __stdcall InvalidateRgn(HRGN hRGN, System::LongBool fErase) = 0 ;
	virtual HRESULT __stdcall ScrollRect(int dx, int dy, System::Types::TRect &RectScroll, System::Types::TRect &RectClip) = 0 ;
	virtual HRESULT __stdcall AdjustRect(System::Types::TRect &rc) = 0 ;
	virtual HRESULT __stdcall OnDefWindowMessage(int msg, NativeUInt wParam, NativeInt lParam, NativeInt &LResult) = 0 ;
};

__interface  INTERFACE_UUID("{1C2056CC-5EF4-101B-8BC8-00AA003E3B29}") IOleInPlaceObjectWindowless  : public IOleInPlaceObject 
{
	virtual HRESULT __stdcall OnWindowMessage(int msg, NativeUInt wParam, NativeInt lParam, NativeInt &lResult) = 0 ;
	virtual HRESULT __stdcall OnDropTarget(_di_IDropTarget &pDropTarget) = 0 ;
};

__interface  INTERFACE_UUID("{6D5140C1-7436-11CE-8034-00AA006009FA}") IServiceProvider  : public System::IInterface 
{
	virtual HRESULT __stdcall QueryService(const GUID &rsid, const GUID &iid, /* out */ void *Obj) = 0 ;
};

class PASCALIMPLEMENTATION TTransparentFlashPlayerControl : public Vcl::Controls::TGraphicControl
{
	typedef Vcl::Controls::TGraphicControl inherited;
	
private:
	int FRefCount;
	System::_di_IInterface m_pUnknown;
	_di_IViewObject m_pViewObject;
	_di_IViewObjectEx m_pViewObjectEx;
	_di_IOleObject m_pOleObject;
	_di_IOleInPlaceObjectWindowless m_pInPlaceObjectWindowless;
	bool m_bInPlaceActive;
	bool m_bWindowless;
	bool m_bCapture;
	bool m_bHaveFocus;
	bool m_bDCReleased;
	bool m_bUIActive;
	bool m_bLocked;
	HDC m_hDCScreen;
	bool m_bInPaint;
	System::Classes::TWndMethod FOldParentWndProc;
	Vcl::Controls::TAlign FSavedAlign;
	System::Types::TRect FSavedBoundsRect;
	unsigned FSavedParentExStyle;
	unsigned FSavedParentStyle;
	Vcl::Forms::TFormBorderStyle FSavedParentBorderStyle;
	_di_IConnectionPoint m_pFlashConnectionPoint;
	bool m_bListenNativeEvents;
	int m_nNativeEventsCookie;
	System::Types::TSize m_size;
	void *m_pBitsWhite;
	void *m_pBitsBlack;
	void *m_pBits;
	HBITMAP m_hBmpWhite;
	HBITMAP m_hBmpBlack;
	HBITMAP m_hBmp;
	bool m_bTestGPU;
	_di_IDirectDraw m_pDD;
	_di_IDirectDrawSurface m_pDDSurface;
	System::Types::TSize m_SurfaceSize;
	HDC m_hdcDirectDrawSurface;
	TFlashPlayerControlOnReadyStateChange FOnReadyStateChange;
	TFlashPlayerControlOnProgress FOnProgress;
	TFlashPlayerControlFSCommand FOnFSCommand;
	TFlashPlayerControlFlashCall FOnFlashCall;
	TFlashPlayerControlUpdateRect FOnUpdateRect;
	TFlashPlayerControlOnFlashPaint FOnFlashPaint;
	TFlashPlayerControlOnLoadExternalResource FOnLoadExternalResource;
	TFlashPlayerControlOnLoadExternalResourceEx FOnLoadExternalResourceEx;
	TFlashPlayerControlOnLoadExternalResourceAsync FOnLoadExternalResourceAsync;
	TFlashPlayerControlOnUnloadExternalResourceAsync FOnUnloadExternalResourceAsync;
	TFlashPlayerControlOnDrawBackground FOnDrawBackground;
	int FReadyState;
	int FTotalFrames;
	System::WideString FMovie;
	int FFrameNum;
	bool FPlaying;
	int FQuality;
	int FScaleMode;
	int FAlignMode;
	int FBackgroundColor;
	bool FLoop;
	System::WideString FWMode;
	System::WideString FSAlign;
	bool FMenu;
	System::WideString FBase;
	System::WideString FScale;
	bool FDeviceFont;
	bool FEmbedMovie;
	System::WideString FBGColor;
	System::WideString FQuality2;
	System::WideString FSWRemote;
	System::WideString FStacking;
	System::WideString FFlashVars;
	System::WideString FAllowScriptAccess;
	System::WideString FMovieData;
	bool FAllowFullscreen;
	bool FStandartMenu;
	bool FMakeParentTransparent;
	int __fastcall InternalGetFlashVersion(void);
	void __fastcall NewParentWndProc(Winapi::Messages::TMessage &Message);
	void __fastcall Draw(HDC hDC, System::Types::PRect pRect);
	
protected:
	virtual void __fastcall Paint(void);
	virtual void __fastcall WndProc(Winapi::Messages::TMessage &Message);
	virtual void __fastcall SetParent(Vcl::Controls::TWinControl* AParent);
	
public:
	__fastcall virtual TTransparentFlashPlayerControl(System::Classes::TComponent* AOwner);
	__fastcall virtual ~TTransparentFlashPlayerControl(void);
	Vcl::Graphics::TBitmap* __fastcall CreateFrameBitmap(void);
	HRESULT __fastcall AttachControl(System::_di_IInterface pUnkControl);
	virtual void __fastcall SetBounds(int ALeft, int ATop, int AWidth, int AHeight);
	void __fastcall PaintTo(Vcl::Graphics::TCanvas* TargetCanvas);
	System::_di_IInterface __fastcall GetFlashObject(void);
	virtual HRESULT __stdcall QueryInterface(const GUID &IID, /* out */ void *Obj);
	HIDESBASE int __stdcall _AddRef(void);
	HIDESBASE int __stdcall _Release(void);
	HRESULT __stdcall GetBorder(/* out */ System::Types::TRect &rectBorder);
	HRESULT __stdcall RequestBorderSpace(const System::Types::TRect &borderwidths);
	HRESULT __stdcall SetBorderSpace(System::Types::PRect pborderwidths);
	HRESULT __stdcall SetActiveObject(const _di_IOleInPlaceActiveObject activeObject, System::WideChar * pszObjName);
	HRESULT __stdcall InsertMenus(HMENU hmenuShared, tagOleMenuGroupWidths &menuWidths);
	HRESULT __stdcall SetMenu(HMENU hmenuShared, HMENU holemenu, HWND hwndActiveObject);
	HRESULT __stdcall RemoveMenus(HMENU hmenuShared);
	HRESULT __stdcall SetStatusText(System::WideChar * pszStatusText);
	HRESULT __stdcall EnableModeless(System::LongBool fEnable);
	HRESULT __stdcall OleInPlaceFrame_TranslateAccelerator(tagMSG &msg, System::Word wID);
	HRESULT __stdcall SaveObject(void);
	HRESULT __stdcall GetMoniker(int dwAssign, int dwWhichMoniker, /* out */ _di_IMoniker &mk);
	HRESULT __stdcall GetContainer(/* out */ _di_IOleContainer &container);
	HRESULT __stdcall ShowObject(void);
	HRESULT __stdcall OnShowWindow(System::LongBool fShow);
	HRESULT __stdcall RequestNewObjectLayout(void);
	HRESULT __stdcall CanWindowlessActivate(void);
	HRESULT __stdcall GetCapture(void);
	HRESULT __stdcall SetCapture(System::LongBool fCapture);
	HRESULT __stdcall GetFocus(void);
	HRESULT __stdcall SetFocus(System::LongBool fFocus);
	HRESULT __stdcall GetDC(System::Types::TRect &rc, unsigned qrfFlags, HDC &hDC);
	HRESULT __stdcall ReleaseDC(HDC hDC);
	HRESULT __stdcall InvalidateRect(System::Types::TRect &Rect, System::LongBool fErase);
	HRESULT __stdcall InvalidateRgn(HRGN hRGN, System::LongBool fErase);
	HRESULT __stdcall ScrollRect(int dx, int dy, System::Types::TRect &RectScroll, System::Types::TRect &RectClip);
	HRESULT __stdcall AdjustRect(System::Types::TRect &rc);
	HRESULT __stdcall OnDefWindowMessage(int msg, NativeUInt wParam, NativeInt lParam, NativeInt &LResult);
	HRESULT __stdcall OnInPlaceActivateEx(PBOOL fNoRedraw, unsigned dwFlags);
	HRESULT __stdcall OnInPlaceDeActivateEx(System::LongBool fNoRedraw);
	HRESULT __stdcall RequestUIActivate(void);
	HRESULT __stdcall CanInPlaceActivate(void);
	HRESULT __stdcall OnInPlaceActivate(void);
	HRESULT __stdcall OnUIActivate(void);
	HRESULT __stdcall GetWindowContext(/* out */ _di_IOleInPlaceFrame &frame, /* out */ _di_IOleInPlaceUIWindow &doc, /* out */ System::Types::TRect &rcPosRect, /* out */ System::Types::TRect &rcClipRect, /* out */ tagOIFI &frameInfo);
	HRESULT __stdcall Scroll(System::Types::TPoint scrollExtent);
	HRESULT __stdcall OnUIDeactivate(System::LongBool fUndoable);
	HRESULT __stdcall OnInPlaceDeactivate(void);
	HRESULT __stdcall DiscardUndoState(void);
	HRESULT __stdcall DeactivateAndUndo(void);
	HRESULT __stdcall OnPosRectChange(const System::Types::TRect &rcPosRect);
	HRESULT __stdcall GetWindow(/* out */ HWND &wnd);
	HRESULT __stdcall ContextSensitiveHelp(System::LongBool fEnterMode);
	HRESULT __stdcall OnControlInfoChanged(void);
	HRESULT __stdcall LockInPlaceActive(System::LongBool fLock);
	HRESULT __stdcall GetExtendedControl(/* out */ _di_IDispatch &disp);
	HRESULT __stdcall TransformCoords(System::Types::TPoint &ptlHimetric, System::Types::TPointF &ptfContainer, int flags);
	HRESULT __stdcall TranslateAccelerator(Winapi::Windows::PMsg msg, int grfModifiers);
	HRESULT __stdcall OnFocus(System::LongBool fGotFocus);
	HRESULT __stdcall ShowPropertyFrame(void);
	HRESULT __stdcall EnumObjects(int grfFlags, /* out */ _di_IEnumUnknown &Enum);
	HRESULT __stdcall LockContainer(System::LongBool fLock);
	HRESULT __stdcall ParseDisplayName(const _di_IBindCtx bc, System::WideChar * pszDisplayName, /* out */ int &chEaten, /* out */ _di_IMoniker &mkOut);
	HIDESBASE HRESULT __stdcall GetTypeInfoCount(/* out */ int &Count);
	HIDESBASE HRESULT __stdcall GetTypeInfo(int Index, int LocaleID, /* out */ void *TypeInfo);
	HIDESBASE HRESULT __stdcall GetIDsOfNames(const GUID &IID, void * Names, int NameCount, int LocaleID, void * DispIDs);
	HIDESBASE HRESULT __stdcall Invoke(int DispID, const GUID &IID, int LocaleID, System::Word Flags, void *Params, void * VarResult, void * ExcepInfo, void * ArgErr);
	HRESULT __stdcall QueryService(const GUID &rsid, const GUID &iid, /* out */ void *Obj);
	HRESULT __stdcall IFlashPlayerControlBase_PutMovie(System::WideString NewMovie);
	HRESULT __stdcall IFlashPlayerControlBase_LoadMovie(int Layer, const System::WideString url);
	HRESULT __stdcall IFlashPlayerControlBase_GetBase(System::WideString &url);
	HRESULT __stdcall IFlashPlayerControlBase_CallOnLoadExternalResource(const System::WideString URL, System::Classes::TStream* Stream);
	HRESULT __stdcall IFlashPlayerControlBase_CallOnLoadExternalResourceEx(const System::WideString URL, System::Classes::TStream* Stream, /* out */ bool &bHandled);
	HRESULT __stdcall IFlashPlayerControlBase_CallOnLoadExternalResourceAsync(const System::WideString Path, /* out */ System::Classes::TStream* &Stream);
	HRESULT __stdcall IFlashPlayerControlBase_CallOnUnloadExternalResourceAsync(System::Classes::TStream* Stream);
	virtual void __fastcall LoadMovieFromStream(int layer, System::Classes::TStream* AStream);
	virtual void __fastcall PutMovieFromStream(System::Classes::TStream* AStream);
	virtual void __fastcall LoadMovieUsingStream(int layer, /* out */ System::Classes::TStream* &AStream);
	virtual void __fastcall PutMovieUsingStream(/* out */ System::Classes::TStream* &AStream);
	virtual void __fastcall SetZoomRect(int left, int top, int right, int bottom);
	virtual void __fastcall Zoom(int factor);
	virtual void __fastcall Pan(int x, int y, int mode);
	virtual void __fastcall Play(void);
	virtual void __fastcall Stop(void);
	virtual void __fastcall Back(void);
	virtual void __fastcall Forward(void);
	virtual void __fastcall Rewind(void);
	virtual void __fastcall StopPlay(void);
	virtual void __fastcall GotoFrame(int FrameNum);
	virtual int __fastcall CurrentFrame(void);
	virtual System::WordBool __fastcall IsPlaying(void);
	virtual int __fastcall PercentLoaded(void);
	virtual System::WordBool __fastcall FrameLoaded(int FrameNum);
	virtual int __fastcall FlashVersion(void);
	virtual void __fastcall LoadMovie(int layer, const System::WideString url);
	virtual void __fastcall TGotoFrame(const System::WideString target, int FrameNum);
	virtual void __fastcall TGotoLabel(const System::WideString target, const System::WideString label_);
	virtual int __fastcall TCurrentFrame(const System::WideString target);
	virtual System::WideString __fastcall TCurrentLabel(const System::WideString target);
	virtual void __fastcall TPlay(const System::WideString target);
	virtual void __fastcall TStopPlay(const System::WideString target);
	virtual void __fastcall SetVariable(const System::WideString name, const System::WideString value);
	virtual System::WideString __fastcall GetVariable(const System::WideString name);
	virtual void __fastcall TSetProperty(const System::WideString target, int property_, const System::WideString value);
	virtual System::WideString __fastcall TGetProperty(const System::WideString target, int property_);
	virtual void __fastcall TCallFrame(const System::WideString target, int FrameNum);
	virtual void __fastcall TCallLabel(const System::WideString target, const System::WideString label_);
	virtual void __fastcall TSetPropertyNum(const System::WideString target, int property_, double value);
	virtual double __fastcall TGetPropertyNum(const System::WideString target, int property_);
	virtual double __fastcall TGetPropertyAsNumber(const System::WideString target, int property_);
	virtual System::WideString __fastcall CallFunction(const System::WideString request);
	virtual void __fastcall SetReturnValue(const System::WideString returnValue);
	virtual int __fastcall GetReadyState(void);
	virtual int __fastcall GetTotalFrames(void);
	virtual System::WideString __fastcall GetMovie(void);
	virtual void __fastcall PutMovie(System::WideString NewMovie);
	virtual int __fastcall GetFrameNum(void);
	virtual void __fastcall PutFrameNum(int NewFrameNum);
	virtual bool __fastcall GetPlaying(void);
	virtual void __fastcall PutPlaying(bool NewPlaying);
	virtual int __fastcall GetQuality(void);
	virtual void __fastcall PutQuality(int NewQuality);
	virtual int __fastcall GetScaleMode(void);
	virtual void __fastcall PutScaleMode(int NewScaleMode);
	virtual int __fastcall GetAlignMode(void);
	virtual void __fastcall PutAlignMode(int NewAlignMode);
	virtual int __fastcall GetBackgroundColor(void);
	virtual void __fastcall PutBackgroundColor(int NewBackgroundColor);
	virtual bool __fastcall GetLoop(void);
	virtual void __fastcall PutLoop(bool NewLoop);
	virtual System::WideString __fastcall GetWMode(void);
	virtual void __fastcall PutWMode(System::WideString NewWMode);
	virtual System::WideString __fastcall GetSAlign(void);
	virtual void __fastcall PutSAlign(System::WideString NewSAlign);
	virtual bool __fastcall GetMenu(void);
	virtual void __fastcall PutMenu(bool NewMenu);
	virtual System::WideString __fastcall GetBase(void);
	virtual void __fastcall PutBase(System::WideString NewBase);
	virtual System::WideString __fastcall GetScale(void);
	virtual void __fastcall PutScale(System::WideString NewScale);
	virtual bool __fastcall GetDeviceFont(void);
	virtual void __fastcall PutDeviceFont(bool NewDeviceFont);
	virtual bool __fastcall GetEmbedMovie(void);
	virtual void __fastcall PutEmbedMovie(bool NewEmbedMovie);
	virtual System::WideString __fastcall GetBGColor(void);
	virtual void __fastcall PutBGColor(System::WideString NewBGColor);
	virtual System::WideString __fastcall GetQuality2(void);
	virtual void __fastcall PutQuality2(System::WideString NewQuality2);
	virtual System::WideString __fastcall GetSWRemote(void);
	virtual void __fastcall PutSWRemote(System::WideString NewSWRemote);
	virtual System::WideString __fastcall GetStacking(void);
	virtual void __fastcall PutStacking(System::WideString NewStacking);
	virtual System::WideString __fastcall GetFlashVars(void);
	virtual void __fastcall PutFlashVars(System::WideString NewFlashVars);
	virtual System::WideString __fastcall GetAllowScriptAccess(void);
	virtual void __fastcall PutAllowScriptAccess(System::WideString NewAllowScriptAccess);
	virtual System::WideString __fastcall GetMovieData(void);
	virtual void __fastcall PutMovieData(System::WideString NewMovieData);
	virtual bool __fastcall GetAllowFullscreen(void);
	virtual void __fastcall PutAllowFullscreen(bool bAllowFullscreen);
	__property int ReadyState = {read=GetReadyState, nodefault};
	__property int TotalFrames = {read=GetTotalFrames, nodefault};
	virtual void __fastcall PutMakeParentTransparent(bool FNewMakeParentTransparent);
	
__published:
	__property Anchors = {default=3};
	__property Align = {default=0};
	__property DragCursor = {default=-12};
	__property DragMode = {default=0};
	__property ParentShowHint = {default=1};
	__property PopupMenu;
	__property ShowHint;
	__property Visible = {default=1};
	__property OnDragDrop;
	__property OnDragOver;
	__property OnEndDrag;
	__property OnStartDrag;
	__property TFlashPlayerControlOnReadyStateChange OnReadyStateChange = {read=FOnReadyStateChange, write=FOnReadyStateChange};
	__property TFlashPlayerControlOnProgress OnProgress = {read=FOnProgress, write=FOnProgress};
	__property TFlashPlayerControlFSCommand OnFSCommand = {read=FOnFSCommand, write=FOnFSCommand};
	__property TFlashPlayerControlFlashCall OnFlashCall = {read=FOnFlashCall, write=FOnFlashCall};
	__property TFlashPlayerControlUpdateRect OnUpdateRect = {read=FOnUpdateRect, write=FOnUpdateRect};
	__property TFlashPlayerControlOnFlashPaint OnFlashPaint = {read=FOnFlashPaint, write=FOnFlashPaint};
	__property TFlashPlayerControlOnLoadExternalResource OnLoadExternalResource = {read=FOnLoadExternalResource, write=FOnLoadExternalResource};
	__property TFlashPlayerControlOnLoadExternalResourceEx OnLoadExternalResourceEx = {read=FOnLoadExternalResourceEx, write=FOnLoadExternalResourceEx};
	__property TFlashPlayerControlOnLoadExternalResourceAsync OnLoadExternalResourceAsync = {read=FOnLoadExternalResourceAsync, write=FOnLoadExternalResourceAsync};
	__property TFlashPlayerControlOnUnloadExternalResourceAsync OnUnloadExternalResourceAsync = {read=FOnUnloadExternalResourceAsync, write=FOnUnloadExternalResourceAsync};
	__property TFlashPlayerControlOnDrawBackground OnDrawBackground = {read=FOnDrawBackground, write=FOnDrawBackground};
	__property OnClick;
	__property OnDblClick;
	__property OnMouseDown;
	__property OnMouseMove;
	__property OnMouseUp;
	__property System::WideString Movie = {read=GetMovie, write=PutMovie};
	__property int FrameNum = {read=GetFrameNum, write=PutFrameNum, nodefault};
	__property bool Playing = {read=GetPlaying, write=PutPlaying, nodefault};
	__property int Quality = {read=GetQuality, write=PutQuality, nodefault};
	__property int ScaleMode = {read=GetScaleMode, write=PutScaleMode, nodefault};
	__property int AlignMode = {read=GetAlignMode, write=PutAlignMode, nodefault};
	__property int BackgroundColor = {read=GetBackgroundColor, write=PutBackgroundColor, nodefault};
	__property bool Loop = {read=GetLoop, write=PutLoop, nodefault};
	__property System::WideString WMode = {read=GetWMode, write=PutWMode};
	__property System::WideString SAlign = {read=GetSAlign, write=PutSAlign};
	__property bool Menu = {read=GetMenu, write=PutMenu, nodefault};
	__property System::WideString Base = {read=GetBase, write=PutBase};
	__property System::WideString Scale = {read=GetScale, write=PutScale};
	__property bool DeviceFont = {read=GetDeviceFont, write=PutDeviceFont, nodefault};
	__property bool EmbedMovie = {read=GetEmbedMovie, write=PutEmbedMovie, nodefault};
	__property System::WideString BGColor = {read=GetBGColor, write=PutBGColor};
	__property System::WideString Quality2 = {read=GetQuality2, write=PutQuality2};
	__property System::WideString SWRemote = {read=GetSWRemote, write=PutSWRemote};
	__property System::WideString Stacking = {read=GetStacking, write=PutStacking};
	__property System::WideString FlashVars = {read=GetFlashVars, write=PutFlashVars};
	__property System::WideString AllowScriptAccess = {read=GetAllowScriptAccess, write=PutAllowScriptAccess};
	__property System::WideString MovieData = {read=GetMovieData, write=PutMovieData};
	__property bool AllowFullscreen = {read=GetAllowFullscreen, write=PutAllowFullscreen, nodefault};
	__property bool StandartMenu = {read=FStandartMenu, write=FStandartMenu, default=0};
	__property bool MakeParentTransparent = {read=FMakeParentTransparent, write=PutMakeParentTransparent, default=0};
private:
	void *__DShockwaveFlashEvents;	// DShockwaveFlashEvents 
	void *__IServiceProvider;	// IServiceProvider 
	void *__IFlashPlayerControlBase;	// IFlashPlayerControlBase 
	void *__IOleInPlaceUIWindow;	// IOleInPlaceUIWindow 
	void *__IOleInPlaceFrame;	// IOleInPlaceFrame 
	void *__IOleContainer;	// IOleContainer 
	void *__IOleControlSite;	// IOleControlSite 
	void *__IOleInPlaceSiteWindowless;	// IOleInPlaceSiteWindowless 
	void *__IOleClientSite;	// IOleClientSite 
	
public:
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {D27CDB6D-AE6D-11CF-96B8-444553540000}
	operator _di_DShockwaveFlashEvents()
	{
		_di_DShockwaveFlashEvents intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator DShockwaveFlashEvents*(void) { return (DShockwaveFlashEvents*)&__DShockwaveFlashEvents; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {6D5140C1-7436-11CE-8034-00AA006009FA}
	operator _di_IServiceProvider()
	{
		_di_IServiceProvider intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IServiceProvider*(void) { return (IServiceProvider*)&__IServiceProvider; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {00020400-0000-0000-C000-000000000046}
	operator _di_IDispatch()
	{
		_di_IDispatch intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IDispatch*(void) { return (IDispatch*)&__DShockwaveFlashEvents; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {911FA1AF-CDB2-45ED-8271-5662C59CB25D}
	operator _di_IFlashPlayerControlBase()
	{
		_di_IFlashPlayerControlBase intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IFlashPlayerControlBase*(void) { return (IFlashPlayerControlBase*)&__IFlashPlayerControlBase; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {00000115-0000-0000-C000-000000000046}
	operator _di_IOleInPlaceUIWindow()
	{
		_di_IOleInPlaceUIWindow intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IOleInPlaceUIWindow*(void) { return (IOleInPlaceUIWindow*)&__IOleInPlaceUIWindow; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {00000116-0000-0000-C000-000000000046}
	operator _di_IOleInPlaceFrame()
	{
		_di_IOleInPlaceFrame intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IOleInPlaceFrame*(void) { return (IOleInPlaceFrame*)&__IOleInPlaceFrame; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {0000011B-0000-0000-C000-000000000046}
	operator _di_IOleContainer()
	{
		_di_IOleContainer intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IOleContainer*(void) { return (IOleContainer*)&__IOleContainer; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {0000011A-0000-0000-C000-000000000046}
	operator _di_IParseDisplayName()
	{
		_di_IParseDisplayName intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IParseDisplayName*(void) { return (IParseDisplayName*)&__IOleContainer; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {B196B289-BAB4-101A-B69C-00AA00341D07}
	operator _di_IOleControlSite()
	{
		_di_IOleControlSite intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IOleControlSite*(void) { return (IOleControlSite*)&__IOleControlSite; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {00000114-0000-0000-C000-000000000046}
	operator _di_IOleWindow()
	{
		_di_IOleWindow intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IOleWindow*(void) { return (IOleWindow*)&__IOleInPlaceUIWindow; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {922EADA0-3424-11CF-B670-00AA004CD6D8}
	operator _di_IOleInPlaceSiteWindowless()
	{
		_di_IOleInPlaceSiteWindowless intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IOleInPlaceSiteWindowless*(void) { return (IOleInPlaceSiteWindowless*)&__IOleInPlaceSiteWindowless; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {00000118-0000-0000-C000-000000000046}
	operator _di_IOleClientSite()
	{
		_di_IOleClientSite intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator IOleClientSite*(void) { return (IOleClientSite*)&__IOleClientSite; }
	#endif
	#if defined(MANAGED_INTERFACE_OPERATORS)
	// {00000000-0000-0000-C000-000000000046}
	operator System::_di_IInterface()
	{
		System::_di_IInterface intf;
		this->GetInterface(intf);
		return intf;
	}
	#else
	operator System::IInterface*(void) { return (System::IInterface*)&__DShockwaveFlashEvents; }
	#endif
	
};


//-- var, const, procedure ---------------------------------------------------
extern DELPHI_PACKAGE Vcl::Extctrls::TTimer* MinimizeFlashMemoryTimer;
extern DELPHI_PACKAGE void __fastcall Register(void);
extern DELPHI_PACKAGE void __fastcall LoadFlashOCXCodeFromStream(System::Classes::TStream* const AStream);
extern DELPHI_PACKAGE bool __fastcall GetInstalledFlashVersion(TFlashVersion &FlashVersion);
extern DELPHI_PACKAGE bool __fastcall GetUsingFlashVersion(TFlashVersion &FlashVersion);
extern DELPHI_PACKAGE int __fastcall CompareFlashVersions(TFlashVersion &FlashVersion1, TFlashVersion &FlashVersion2);
extern DELPHI_PACKAGE void __fastcall SetGlobalOnLoadExternalResourceHandler(TFlashPlayerControlOnGlobalLoadExternalResource Handler);
extern DELPHI_PACKAGE void __fastcall SetGlobalOnLoadExternalResourceHandlerEx(TFlashPlayerControlOnGlobalLoadExternalResourceEx Handler);
extern DELPHI_PACKAGE void __fastcall SetGlobalOnLoadExternalResourceHandlerAsync(TFlashPlayerControlOnGlobalLoadExternalResourceAsync Handler);
extern DELPHI_PACKAGE void __fastcall SetGlobalPreProcessURLHandler(TFlashPlayerControlOnGlobalPreProcessURL Handler);
extern DELPHI_PACKAGE void __fastcall SetGlobalOnSyncCallHandler(TFlashPlayerControlOnGlobalSyncCall Handler);
extern DELPHI_PACKAGE bool __fastcall IsFlashInstalled(void);
extern DELPHI_PACKAGE bool __fastcall IsFormTransparentAvailable(void);
extern DELPHI_PACKAGE void __fastcall SetAudioEnabled(bool bEnable);
extern DELPHI_PACKAGE bool __fastcall GetAudioEnabled(void);
extern DELPHI_PACKAGE void __fastcall SetAudioVolume(int Volume);
extern DELPHI_PACKAGE int __fastcall GetAudioVolume(void);
extern DELPHI_PACKAGE bool __fastcall FPC_HookFunc(System::AnsiString DLLName, System::AnsiString ProcName, void * AddressOfNewFunction);
extern DELPHI_PACKAGE void __fastcall SetAudioOutputOpenHandler(TFlashPlayerControlOnAudioOutputOpen Handler);
extern DELPHI_PACKAGE void __fastcall SetAudioOutputWriteHandler(TFlashPlayerControlOnAudioOutputWrite Handler);
extern DELPHI_PACKAGE void __fastcall SetAudioOutputCloseHandler(TFlashPlayerControlOnAudioOutputClose Handler);
extern DELPHI_PACKAGE void __fastcall TestFlashGPUUsage(void);
extern "C" HRESULT __stdcall CreateStreamOnHGlobal(NativeUInt hglob, System::LongBool fDeleteOnRelease, /* out */ _di_IStream &stm);
}	/* namespace Flashplayercontrol */
#if !defined(DELPHIHEADER_NO_IMPLICIT_NAMESPACE_USE) && !defined(NO_USING_NAMESPACE_FLASHPLAYERCONTROL)
using namespace Flashplayercontrol;
#endif
#pragma pack(pop)
#pragma option pop

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