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
iactivescriptsite = interface(iunknown)
['{db01a1e3-a42b-11cf-8f20-00805f2cd064}']
// hresult getlcid(
// [out] lcid *plcid);
// allows the host application to indicate the local id for localization
// of script/user interaction
function getlcid(out lcid: tlcid): hresult; stdcall;
// hresult getiteminfo(
// [in] lpcolestr pstrname,
// [in] dword dwreturnmask,
// [out] iunknown **ppiunkitem,
// [out] itypeinfo **ppti);
// called by the script engine to look up named items in host application.
// used to map unresolved variable names in scripts to automation interface
// in host application. the dwreturnmask parameter will indicate whether
// the actual object (scriptinfo_inknown) or just a coclass type description
// (scriptinfo_itypeinfo) is desired.
function getiteminfo(const pstrname: polestr; dwreturnmask: dword; out ppiunkitem: iunknown; out info: itypeinfo): hresult; stdcall;
// hresult getdocversionstring(
// [out] bstr *pbstrversion);
// called by the script engine to get a text-based version number of the
// current document. this string can be used to validate that any cached
// state that the script engine may have saved is consistent with the
// current document.