Richard
29-01-2015, 01:02
Ich registriere entsprechend des Beispielcodes Extensions mit
Function Init()
{
ScriptContext.EnableExtension();
Var Filter As CGuiEventFilter = CGuiEventFilter.Create().AddControl(EGuiControl.Sh ipList_ShipTable);
ScriptContext.RegisterEvent(EGuiEventType.TableBef oreCreate, AddressOf CallBack_TableBeforeCreate, Filter);
ScriptContext.RegisterEvent(EGuiEventType.TableAft erHeadAdded, AddressOf CallBack_HeadAdded, Filter);
ScriptContext.RegisterEvent(EGuiEventType.TableAft erRowAdded, AddressOf CallBack_RowAdded, Filter);
ScriptContext.ActivateEvents();
}
Init();
Das funktioniert beim 1. Aufruf auch. Das Script tut. Beim 2. Aufruf von Init verschwindet die extension einfach unwiederbringlich. Hab auch versucht vor dem ScriptContext.RegisterEvent ein ScriptContext.UnRegisterEvent zu machen. Hat auch nicht weiter geholfen. Wie kann ich Init ein 2. mal aufrufen, z.B. wenn ich Events ändern möchte?
Function Init()
{
ScriptContext.EnableExtension();
Var Filter As CGuiEventFilter = CGuiEventFilter.Create().AddControl(EGuiControl.Sh ipList_ShipTable);
ScriptContext.RegisterEvent(EGuiEventType.TableBef oreCreate, AddressOf CallBack_TableBeforeCreate, Filter);
ScriptContext.RegisterEvent(EGuiEventType.TableAft erHeadAdded, AddressOf CallBack_HeadAdded, Filter);
ScriptContext.RegisterEvent(EGuiEventType.TableAft erRowAdded, AddressOf CallBack_RowAdded, Filter);
ScriptContext.ActivateEvents();
}
Init();
Das funktioniert beim 1. Aufruf auch. Das Script tut. Beim 2. Aufruf von Init verschwindet die extension einfach unwiederbringlich. Hab auch versucht vor dem ScriptContext.RegisterEvent ein ScriptContext.UnRegisterEvent zu machen. Hat auch nicht weiter geholfen. Wie kann ich Init ein 2. mal aufrufen, z.B. wenn ich Events ändern möchte?