// 内容太长,只列出部分,全部内容我已经贴在了Blog上
// http://blog.csdn.net/scriptbaby/archive/2004/07/22/48191.aspx
unit AXScript;interfaceuses
Windows, ActiveX;
const
//Category IDs
CATID_ActiveScript:TGUID= '{F0B7A1A1-9847-11cf-8F20-00805F2CD064}';
CATID_ActiveScriptParse:TGUID= '{F0B7A1A2-9847-11cf-8F20-00805F2CD064}'; //Interface IDs
IID_IActiveScriptSite:TGUID= '{DB01A1E3-A42B-11cf-8F20-00805F2CD064}';
IID_IActiveScriptSiteWindow:TGUID= '{D10F6761-83E9-11cf-8F20-00805F2CD064}';
IID_IActiveScript:TGUID= '{BB1A2AE1-A4F9-11cf-8F20-00805F2CD064}';
IID_IActiveScriptParse:TGUID= '{BB1A2AE2-A4F9-11cf-8F20-00805F2CD064}';
IID_IActiveScriptParseProcedure:TGUID= '{1CFF0050-6FDD-11d0-9328-00A0C90DCAA9}';
IID_IActiveScriptError:TGUID= '{EAE1BA61-A4ED-11cf-8F20-00805F2CD064}';
// Constants used by ActiveX Scripting:
SCRIPTITEM_ISVISIBLE = $00000002;
SCRIPTITEM_ISSOURCE = $00000004;
SCRIPTITEM_GLOBALMEMBERS = $00000008;
SCRIPTITEM_ISPERSISTENT = $00000040;
SCRIPTITEM_CODEONLY = $00000200;
SCRIPTITEM_NOCODE = $00000400;
SCRIPTITEM_ALL_FLAGS = (SCRIPTITEM_ISSOURCE or
SCRIPTITEM_ISVISIBLE or
SCRIPTITEM_ISPERSISTENT or
SCRIPTITEM_GLOBALMEMBERS or
SCRIPTITEM_NOCODE or
SCRIPTITEM_CODEONLY); // IActiveScript::AddTypeLib() input flags SCRIPTTYPELIB_ISCONTROL = $00000010;
SCRIPTTYPELIB_ISPERSISTENT = $00000040;
SCRIPTTYPELIB_ALL_FLAGS = (SCRIPTTYPELIB_ISCONTROL or
SCRIPTTYPELIB_ISPERSISTENT);// IActiveScriptParse::AddScriptlet() and IActiveScriptParse::ParseScriptText() input flags */ SCRIPTTEXT_DELAYEXECUTION = $00000001;
SCRIPTTEXT_ISVISIBLE = $00000002;
SCRIPTTEXT_ISEXPRESSION = $00000020;
SCRIPTTEXT_ISPERSISTENT = $00000040;
SCRIPTTEXT_HOSTMANAGESSOURCE = $00000080;
SCRIPTTEXT_ALL_FLAGS = (SCRIPTTEXT_DELAYEXECUTION or
SCRIPTTEXT_ISVISIBLE or
SCRIPTTEXT_ISEXPRESSION or
SCRIPTTEXT_HOSTMANAGESSOURCE or
SCRIPTTEXT_ISPERSISTENT);
// IActiveScriptParseProcedure::ParseProcedureText() input flags SCRIPTPROC_HOSTMANAGESSOURCE = $00000080;
SCRIPTPROC_IMPLICIT_THIS = $00000100;
SCRIPTPROC_IMPLICIT_PARENTS = $00000200;
SCRIPTPROC_ALL_FLAGS = (SCRIPTPROC_HOSTMANAGESSOURCE or
SCRIPTPROC_IMPLICIT_THIS or
SCRIPTPROC_IMPLICIT_PARENTS);
// IActiveScriptSite::GetItemInfo() input flags */ SCRIPTINFO_IUNKNOWN = $00000001;
SCRIPTINFO_ITYPEINFO = $00000002;
SCRIPTINFO_ALL_FLAGS = (SCRIPTINFO_IUNKNOWN or
SCRIPTINFO_ITYPEINFO);
// IActiveScript::Interrupt() Flags */ SCRIPTINTERRUPT_DEBUG = $00000001;
SCRIPTINTERRUPT_RAISEEXCEPTION = $00000002;
SCRIPTINTERRUPT_ALL_FLAGS = (SCRIPTINTERRUPT_DEBUG or
SCRIPTINTERRUPT_RAISEEXCEPTION); type
//new IE4 types
TUserHWND=HWND;
TUserBSTR=TBStr;
TUserExcepInfo=TExcepInfo;
TUserVariant=OleVariant; // script state values
TScriptState = (
SCRIPTSTATE_UNINITIALIZED,
SCRIPTSTATE_STARTED,
SCRIPTSTATE_CONNECTED,
SCRIPTSTATE_DISCONNECTED,
SCRIPTSTATE_CLOSED,
SCRIPTSTATE_INITIALIZED
); // script thread state values */
TScriptThreadState = (
SCRIPTTHREADSTATE_NOTINSCRIPT,
SCRIPTTHREADSTATE_RUNNING
);
// Thread IDs */
TScriptThreadID = DWORD;const //Note: these SCRIPTTHREADID constants were originally macros
//in the first version of this file. See the note at the top
//for more information. (Thanks to Gary Warren King.)
SCRIPTTHREADID_CURRENT = TScriptThreadId(-1);
SCRIPTTHREADID_BASE = TScriptThreadId(-2);
SCRIPTTHREADID_ALL = TScriptThreadId(-3);type
//Forward declarations
IActiveScript = interface;
IActiveScriptParse = interface;
IActiveScriptParseProcedure = interface;
IActiveScriptSite = interface;
IActiveScriptSiteWindow = interface;
IActiveScriptError = interface;
IActiveScriptError = interface(IUnknown)
['{EAE1BA61-A4ED-11CF-8F20-00805F2CD064}'] // HRESULT GetExceptionInfo(
// [out] EXCEPINFO *pexcepinfo);
function GetExceptionInfo(out ExcepInfo: TExcepInfo): HRESULT; stdcall; // HRESULT GetSourcePosition(
// [out] DWORD *pdwSourceCOntext,
// [out] ULONG *pulLineNumber,
// [out] LONG *plCharacterPosition);
function GetSourcePosition(out SourceContext: DWORD; out LineNumber: ULONG; out CharacterPosition: LONGINT): HRESULT; stdcall; // HRESULT GetSourceLineText(
// [out] BSTR *pbstrSourceLine);
function GetSourceLineText(out SourceLine: LPWSTR): HRESULT; stdcall;
end; //IActiveScriptError interface
// http://blog.csdn.net/scriptbaby/archive/2004/07/22/48191.aspx
unit AXScript;interfaceuses
Windows, ActiveX;
const
//Category IDs
CATID_ActiveScript:TGUID= '{F0B7A1A1-9847-11cf-8F20-00805F2CD064}';
CATID_ActiveScriptParse:TGUID= '{F0B7A1A2-9847-11cf-8F20-00805F2CD064}'; //Interface IDs
IID_IActiveScriptSite:TGUID= '{DB01A1E3-A42B-11cf-8F20-00805F2CD064}';
IID_IActiveScriptSiteWindow:TGUID= '{D10F6761-83E9-11cf-8F20-00805F2CD064}';
IID_IActiveScript:TGUID= '{BB1A2AE1-A4F9-11cf-8F20-00805F2CD064}';
IID_IActiveScriptParse:TGUID= '{BB1A2AE2-A4F9-11cf-8F20-00805F2CD064}';
IID_IActiveScriptParseProcedure:TGUID= '{1CFF0050-6FDD-11d0-9328-00A0C90DCAA9}';
IID_IActiveScriptError:TGUID= '{EAE1BA61-A4ED-11cf-8F20-00805F2CD064}';
// Constants used by ActiveX Scripting:
SCRIPTITEM_ISVISIBLE = $00000002;
SCRIPTITEM_ISSOURCE = $00000004;
SCRIPTITEM_GLOBALMEMBERS = $00000008;
SCRIPTITEM_ISPERSISTENT = $00000040;
SCRIPTITEM_CODEONLY = $00000200;
SCRIPTITEM_NOCODE = $00000400;
SCRIPTITEM_ALL_FLAGS = (SCRIPTITEM_ISSOURCE or
SCRIPTITEM_ISVISIBLE or
SCRIPTITEM_ISPERSISTENT or
SCRIPTITEM_GLOBALMEMBERS or
SCRIPTITEM_NOCODE or
SCRIPTITEM_CODEONLY); // IActiveScript::AddTypeLib() input flags SCRIPTTYPELIB_ISCONTROL = $00000010;
SCRIPTTYPELIB_ISPERSISTENT = $00000040;
SCRIPTTYPELIB_ALL_FLAGS = (SCRIPTTYPELIB_ISCONTROL or
SCRIPTTYPELIB_ISPERSISTENT);// IActiveScriptParse::AddScriptlet() and IActiveScriptParse::ParseScriptText() input flags */ SCRIPTTEXT_DELAYEXECUTION = $00000001;
SCRIPTTEXT_ISVISIBLE = $00000002;
SCRIPTTEXT_ISEXPRESSION = $00000020;
SCRIPTTEXT_ISPERSISTENT = $00000040;
SCRIPTTEXT_HOSTMANAGESSOURCE = $00000080;
SCRIPTTEXT_ALL_FLAGS = (SCRIPTTEXT_DELAYEXECUTION or
SCRIPTTEXT_ISVISIBLE or
SCRIPTTEXT_ISEXPRESSION or
SCRIPTTEXT_HOSTMANAGESSOURCE or
SCRIPTTEXT_ISPERSISTENT);
// IActiveScriptParseProcedure::ParseProcedureText() input flags SCRIPTPROC_HOSTMANAGESSOURCE = $00000080;
SCRIPTPROC_IMPLICIT_THIS = $00000100;
SCRIPTPROC_IMPLICIT_PARENTS = $00000200;
SCRIPTPROC_ALL_FLAGS = (SCRIPTPROC_HOSTMANAGESSOURCE or
SCRIPTPROC_IMPLICIT_THIS or
SCRIPTPROC_IMPLICIT_PARENTS);
// IActiveScriptSite::GetItemInfo() input flags */ SCRIPTINFO_IUNKNOWN = $00000001;
SCRIPTINFO_ITYPEINFO = $00000002;
SCRIPTINFO_ALL_FLAGS = (SCRIPTINFO_IUNKNOWN or
SCRIPTINFO_ITYPEINFO);
// IActiveScript::Interrupt() Flags */ SCRIPTINTERRUPT_DEBUG = $00000001;
SCRIPTINTERRUPT_RAISEEXCEPTION = $00000002;
SCRIPTINTERRUPT_ALL_FLAGS = (SCRIPTINTERRUPT_DEBUG or
SCRIPTINTERRUPT_RAISEEXCEPTION); type
//new IE4 types
TUserHWND=HWND;
TUserBSTR=TBStr;
TUserExcepInfo=TExcepInfo;
TUserVariant=OleVariant; // script state values
TScriptState = (
SCRIPTSTATE_UNINITIALIZED,
SCRIPTSTATE_STARTED,
SCRIPTSTATE_CONNECTED,
SCRIPTSTATE_DISCONNECTED,
SCRIPTSTATE_CLOSED,
SCRIPTSTATE_INITIALIZED
); // script thread state values */
TScriptThreadState = (
SCRIPTTHREADSTATE_NOTINSCRIPT,
SCRIPTTHREADSTATE_RUNNING
);
// Thread IDs */
TScriptThreadID = DWORD;const //Note: these SCRIPTTHREADID constants were originally macros
//in the first version of this file. See the note at the top
//for more information. (Thanks to Gary Warren King.)
SCRIPTTHREADID_CURRENT = TScriptThreadId(-1);
SCRIPTTHREADID_BASE = TScriptThreadId(-2);
SCRIPTTHREADID_ALL = TScriptThreadId(-3);type
//Forward declarations
IActiveScript = interface;
IActiveScriptParse = interface;
IActiveScriptParseProcedure = interface;
IActiveScriptSite = interface;
IActiveScriptSiteWindow = interface;
IActiveScriptError = interface;
IActiveScriptError = interface(IUnknown)
['{EAE1BA61-A4ED-11CF-8F20-00805F2CD064}'] // HRESULT GetExceptionInfo(
// [out] EXCEPINFO *pexcepinfo);
function GetExceptionInfo(out ExcepInfo: TExcepInfo): HRESULT; stdcall; // HRESULT GetSourcePosition(
// [out] DWORD *pdwSourceCOntext,
// [out] ULONG *pulLineNumber,
// [out] LONG *plCharacterPosition);
function GetSourcePosition(out SourceContext: DWORD; out LineNumber: ULONG; out CharacterPosition: LONGINT): HRESULT; stdcall; // HRESULT GetSourceLineText(
// [out] BSTR *pbstrSourceLine);
function GetSourceLineText(out SourceLine: LPWSTR): HRESULT; stdcall;
end; //IActiveScriptError interface
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货