The problem is that when declaring the IScriptControl structure (specifically get_Error) IScriptError is not yet known, so the type is incomplete. When you later define "IScriptError* pScriptError" in VBS_ERROR(), IScriptError *is* known. This is enough to upset the compiler. Will have to do something about this.
For the moment, putting:
DECLARE_INTERFACE_(IScriptError, IDispatch) ...
*before*:
DECLARE_INTERFACE_(IScriptControl, IDispatch) ...
seems to fix it.
Anyway, I need to modify the compiler. Thanks for the report.
Pelle