-
Extension mehrfach registriert => keine Extension
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?
-
Noch ein vollständiges Beispiel:
Script 1x ausgeführt: Auf jeder STNE-Seite steht "Page load..."
mehr als 1x ausgeführt: Nix mehr zu sehen und auch nicht mehr wiederherzustellen. => Script neu anlegen.
#UseInterface Web, Gui;
Function Init()
{
ScriptContext.EnableExtension();
ScriptContext.RegisterEvent(EGuiEventType.PageBefo reCreateControls, AddressOf CallBack_BeforeCreateControls);
Var Filter As CGuiEventFilter = CGuiEventFilter.Create().AddControl(EGuiControl.Sh ipList_ShipTable);
ScriptContext.RegisterEvent(EGuiEventType.TableBef oreCreate, AddressOf CallBack_TableBeforeCreate, Filter);
ScriptContext.RegisterEvent(EGuiEventType.TableAft erRowAdded, AddressOf CallBack_RowAdded, Filter);
ScriptContext.RegisterEvent(EGuiEventType.TableAft erCreate, AddressOf CallBack_TableAfterCreate, Filter);
ScriptContext.RegisterEvent(EGuiEventType.InfoBarA fterCreate, AddressOf CallBack_InfoBarAfterCreate);
ScriptContext.ActivateEvents();
}
Function CallBack_BeforeCreateControls(e As CGuiEventOnPageBeforeCreateControls)
{
ScriptContext.WriteAppLog('Page load...');
}
Function CallBack_TableBeforeCreate(e As CGuiEventOnTableBeforeCreate)
{
ScriptContext.WriteAppLog('Page load...');
}
Function CallBack_RowAdded(e As CGuiEventOnTableAfterRowAdded)
{
ScriptContext.WriteAppLog('Page load...');
}
Function CallBack_TableAfterCreate(e As CGuiEventOnTableAfterCreate)
{
ScriptContext.WriteAppLog('Page load...');
}
Function CallBack_InfoBarAfterCreate(e As CGuiEventOnInfoBarAfterCreate)
{
ScriptContext.WriteAppLog('Page load...');
}
Init();
Last edited by Richard; 29-01-2015 at 11:43.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules