Es ist offenbar nicht möglich, innerhalb einer Extension die Invoke funktion eines CDelegate Objektes aufzurufen.
Dies führt in jedem Fall zu einer Exception.

[NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.]
bei stne.CScriptContext.get_Current() in D:\source\arakis\dev1\projects\stne\game\Scripting \Extensions.vb:Zeile 466.
bei stne.Scripting.Types.CScript.GetScript() in D:\source\arakis\dev1\projects\stne\game\Scripting \Objects.vb:Zeile 5420.
bei stne.CImpersonationDelegate.Invoke(Object[] args) in D:\source\arakis\dev1\projects\stne\game\Scripting \Extensions.vb:Zeile 861.

[TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht.]
bei System.RuntimeMethodHandle._InvokeMethodFast(IRunt imeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
bei System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
bei System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
bei System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
bei larne.scripting.TScriptObjectMemberNative.GetValue Internal(TScriptContext Context, Object obj, Object[] Index) in D:\source\arakis\dev1\projects\shared\larne.script ing.c#\Script.cs:Zeile 2656.
bei larne.scripting.TScriptObjectMemberNative.GetValue (TScriptContext Context, TCodeExpressionObjectMember CallExp, Object obj, Object[] Index) in D:\source\arakis\dev1\projects\shared\larne.script ing.c#\Script.cs:Zeile 2645.
bei larne.scripting.Expressions.TCodeExpressionObjectM ember.Get(TScriptContext Context) in D:\source\arakis\dev1\projects\shared\larne.script ing.c#\ScriptExpressions.cs:Zeile 444.
bei larne.scripting.Commands.TCodeCommandDim.Process(T ScriptContext Context) in D:\source\arakis\dev1\projects\shared\larne.script ing.c#\ScriptCommands.cs:Zeile 176.
bei larne.scripting.TScriptContext.ExecuteInternal() in D:\source\arakis\dev1\projects\shared\larne.script ing.c#\Script.cs:Zeile 1193.
Ist das so gedacht, dass das verboten ist? Oder ist das ein Bug?
Falls es verboten ist, gibt es dafür spezielle Gründe? Durch CDelegate.Invoke kann man doch sowieso keine Schiffs oder Kolonie-Aktionen ausführen, weshalb es eh keinen (mir bekannten) Missbrauch ermöglichen würde.

grüße
/ker