Thanks for the reply, should take 20 minutes to get it work. Emanuele > > Hi to all, > > i can't understand what the new 'old as string' parameter means in > > Action.Register. I have a class in which i define all actions used for > > Menus and ToolButtons, than each action is linked to appropriate > > controls at application start-up. I use this to give the user the chance > > to select different themes. > > > > ' Gambas class file > > > > 'Classe : psTheme.Class > > 'Autore : Emanuele Sottocorno > > 'Email : sot...@gmail.com > > 'Descrizione: Menus and buttons actions > > > > > > Public Const ACTION_DEALER_OPEN As String = "DEALER_OPEN" > > Public Const ACTION_DEALER_CLOSE As String = "DEALER_CLOSE" > > Public Const ACTION_DEALER_EDIT As String = "DEALER_EDIT" > > Public Const ACTION_USER_ADD As String = "USER_ADD" > > Public Const ACTION_USER_EDIT As String = "USER_EDIT" > > ... > > ... > > Static Public Sub ActionConfigure() > > With Action[ACTION_DEALER_OPEN] > > .Picture = psTheme.GetIcon(psTheme.DEALER_OPEN) > > End With > > With Action[ACTION_DEALER_EDIT] > > .Picture = psTheme.GetIcon(psTheme.DEALER_EDIT) > > End With > > With Action[ACTION_USER_ADD] > > .Picture = psTheme.GetIcon(psTheme.USER_ADD) > > End With > > With Action[ACTION_USER_EDIT] > > .Picture = psTheme.GetIcon(psTheme.USER_EDIT) > > End With > > ... > > End > > Ok, the right picture is asoociated to controls. > > > > Since rev 4072 i used the following to register the actions: > > ' Gambas class file > > > > 'Classe : Fmain.Class > > 'Autore : Emanuele Sottocorno > > 'Email : sot...@gmail.com > > 'Descrizione: Application Main Window > > > > > > Event MoveMenu(obj As Object) > > Event MainMenu(obj As Object) > > Event FormEvent(hForm As Form) > > > > > > > > Public Sub _new() > > Me.Icon = pneusoft.GetIconFile(psTheme.PNEUSOFT_ICON_64) > > ' Configure Actions for Menu an buttons > > ' Menu Actions: > > Action.Register(mnuAziendaApri,psAction.ACTION_DEALER_OPEN) > > Action.Register(mnuAziendaModifica,psAction.ACTION_DEALER_EDIT) > > Action.Register(mnuUtenzaAdd,psAction.ACTION_USER_ADD) > > Action.Register(mnuUtenzaEdit, psAction.ACTION_USER_EDIT) > > ... > > End > > > > Now, starting with rev 7073 this becomes invalid due the 'old as string' > > parameter . > > > > Modifing the lines like (no action associated to objects in the IDE): > > > > Public Sub _new() > > Me.Icon = pneusoft.GetIconFile(psTheme.PNEUSOFT_ICON_64) > > ' Configure Actions for Menu an buttons > > ' Menu Actions: > > Action.Register(mnuAziendaApri, "", psAction.ACTION_DEALER_OPEN) > > Action.Register(mnuAziendaModifica, "", psAction.ACTION_DEALER_EDIT) > > Action.Register(mnuUtenzaAdd, "", psAction.ACTION_USER_ADD) > > Action.Register(mnuUtenzaEdit, "", psAction.ACTION_USER_EDIT) > > ... > > End > > > > > > Public Sub menuevent_click() > > Raise MainMenu(Last) > > End > > > > when i click an object it raise a NULL string action. I mean that > > looking at LAST there is a void string in Action Field property. > > > > Executing the cycle: > > Dim o As Object > > For Each o In Action[psAction.ACTION_USER_EDIT].Controls > > Debug o.Name > > Next > > > > the right object name are printed in console. > > > > How can i do that now? > > Thanks, > > Emanuele > > > > Sorry, Action.Register() was never intended to be used directly. It even has > been renamed recently to become an hidden symbol. > > To associate an action with a control, you have to define the Action property > of that control. For example, instead of: > > Action.Register(mnuAziendaApri, "", psAction.ACTION_DEALER_OPEN) > > You must do: > > mnuAziendaApri.Action = psAction.ACTION_DEALER_OPEN > > And to know when an action is activated, you must define the > "Action_Activate" > event handler in your form. That event handler takes one argument which is > the > action that has been activated. > > And actions should be defined directly in the IDE. That way, you have > automatic toolbar configuration (if you use the gb.form.mdi component). > > Regards, > > -- > Beno?t Minisini
------------------------------------------------------------------------------ Special Offer -- Download ArcSight Logger for FREE! Finally, a world-class log management solution at an even better price-free! And you'll get a free "Love Thy Logs" t-shirt when you download Logger. Secure your free ArcSight Logger TODAY! http://p.sf.net/sfu/arcsisghtdev2dev _______________________________________________ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user