Folgende Extension wirft beim Öffnen einer Kolonieansicht zu einer Exception:

Code:
#UseInterface Web, Gui;

Function Init()
{
  ScriptContext.EnableExtension();
  Var filter As New CGuiEventFilter();
  filter.AddPage(EGuiPage.Planet);
  ScriptContext.RegisterEvent(EGuiEventType.PageBeforeRender, AddressOf callback, filter);
  
  ScriptContext.ActivateEvents();
  ScriptContext.WriteAppLog('extension loaded...');
}

Init();


Function callback(e As CGuiEventOnPageBeforeRender)
{
  If(e.DataObject is Null) {
    ScriptContext.WriteAppLog('no object...');
  } Else {
    Var col As CMyColony = e.DataObject;
    ScriptContext.WriteAppLog('name: ' & col.Name);
  }
}
[NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.]
bei stne.TPlanet.get_Name() in D:\source\arakis\dev1\projects\stne\game\PlanetLib .vb:Zeile 616.
bei stne.Scripting.Types.CMyKolonie.get_Name() in D:\source\arakis\dev1\projects\stne\game\Scripting \Objects.vb:Zeile 1882.

[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.RuntimeMethodHandle.InvokeMethodFast(IRunti meMethodInfo method, Object target, Object[] arguments, Signature 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.RuntimePropertyInfo.GetValue(Obj ect obj, Object[] index)
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 2654.
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.Expressions.TCodeExpressionAddStri ng.Get(TScriptContext Context) in D:\source\arakis\dev1\projects\shared\larne.script ing.c#\ScriptExpressions.cs:Zeile 1842.
bei larne.scripting.Expressions.TCodeExpressionObjectM ember.GetParameters(TScriptContext Context, TScriptParameterInfo[] ParamInfo) in D:\source\arakis\dev1\projects\shared\larne.script ing.c#\ScriptExpressions.cs:Zeile 366.
bei larne.scripting.Expressions.TCodeExpressionObjectM ember.Get(TScriptContext Context) in D:\source\arakis\dev1\projects\shared\larne.script ing.c#\ScriptExpressions.cs:Zeile 442.
bei larne.scripting.Commands.TCodeCommandExpressionCal l.Process(TScriptContext Context) in D:\source\arakis\dev1\projects\shared\larne.script ing.c#\ScriptCommands.cs:Zeile 93.
bei larne.scripting.TScriptContext.ExecuteInternal() in D:\source\arakis\dev1\projects\shared\larne.script ing.c#\Script.cs:Zeile 1193.

[Exception: Das Script hat einen Laufzeitfehler verursacht. Zeile: 23, Spalte: 5, Token: 'ScriptContext', Script: 'kolonie extension']
bei larne.scripting.TScriptContext.ExecuteInternal() in D:\source\arakis\dev1\projects\shared\larne.script ing.c#\Script.cs:Zeile 1207.
bei larne.scripting.TScriptContext.CallMethod(TScriptO bjectMemberCustom mem, TCodeExpressionObjectMember Caller, Object[] Args, CObject Instance) in D:\source\arakis\dev1\projects\shared\larne.script ing.c#\Script.cs:Zeile 1014.
bei larne.scripting.TScriptContext.CallMethod(TScriptO bjectMemberCustom Mem, Object[] Args, CObject Instance) in D:\source\arakis\dev1\projects\shared\larne.script ing.c#\Script.cs:Zeile 968.
bei larne.scripting.TScriptObjectMemberCustom.GetValue Internal(TScriptContext Context, Object obj, Object[] Index) in D:\source\arakis\dev1\projects\shared\larne.script ing.c#\Script.cs:Zeile 1866.
bei larne.scripting.Types.CDelegate.Invoke(Object[] args) in D:\source\arakis\dev1\projects\shared\larne.script ing.c#\ScriptMethods.cs:Zeile 191.
bei stne.TScriptExtensionItem.CallEvent(CGuiEvent e) in D:\source\arakis\dev1\projects\stne\game\Scripting \Extensions.vb:Zeile 182.

[Exception: Es ist ein Fehler in einer Extension aufgetreten. Extension wurde deaktiviert. Bitte wende dich an den Autor der Extension.]
bei stne.TScriptExtensionItem.CallEvent(CGuiEvent e) in D:\source\arakis\dev1\projects\stne\game\Scripting \Extensions.vb:Zeile 194.
bei stne.TScriptExtensionManagerUserItem.CallEvent(CGu iEvent e) in D:\source\arakis\dev1\projects\stne\game\Scripting \Extensions.vb:Zeile 121.
bei stne.TUserSession.CallScriptEvent(CGuiEvent e) in D:\source\arakis\dev1\projects\stne\game\UserLib.v b:Zeile 5889.
bei stne.TstneGamePage.PrepareRender() in D:\source\arakis\dev1\projects\stne\game\WebContro ls.vb:Zeile 718.
bei stne.wf_Game.Page_Load(Object sender, EventArgs e) in D:\source\arakis\dev1\projects\stne\game\Game.aspx .vb:Zeile 128.
bei System.Web.UI.Control.LoadRecursive()
bei System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

Assembly: stne.dll
Time: 05.03.2012 09:24:10
Server: DE1
User-ID: 62113
STNE-Version: 1.0.74.395
Compiled at: 01.03.2012 16:40:25
Compiled from: Arakis