Error with automatic management of the toolwindowsfamily.

0 Answers 8 Views
General Discussions GridView
Laurent
Top achievements
Rank 1
Iron
Iron
Laurent asked on 25 Sep 2025, 02:49 PM

message error: La référence d objet n'est pas définie à une instance d'un objet.

Hello,
In my Frame, I use a RadDock with documentContainer and two toolwindows.
I would like the toolWindowFamily to dock automatically when I select it, rather than having to press the “pin” image.

On the “stabstripItem_click”, I put: oToolwindow:DockState=  Telerik.WinControls.UI.Docking.DockState:Docked.

Here is my code:

 

METHOD PRIVATE VOID TabStripItem_Click( INPUT sender AS System.Object, INPUT e AS System.EventArgs ):

        DEFINE VARIABLE oTabStripItem AS Telerik.WinControls.UI.TabStripItem       NO-UNDO.
        DEFINE VARIABLE oToolwindow   AS Telerik.WinControls.UI.Docking.ToolWindow NO-UNDO.
        DEFINE VARIABLE cValeur       AS CHARACTER                                 NO-UNDO.        

        oTabStripItem = CAST(sender, Telerik.WinControls.UI.TabStripItem) NO-ERROR.
        IF oTabStripItem NE ? THEN 
        DO:
            oToolwindow = CAST(oTabStripItem:TabPanel, Telerik.WinControls.UI.Docking.ToolWindow) NO-ERROR.

            IF VALID-OBJECT(oToolwindow) THEN DO:

                IF oToolwindow NE ? THEN 
                DO:

                    IF THIS-OBJECT:DockPrincipal:ActiveWindow NE oToolwindow THEN 
                    DO:                     
                        oActiveWindow = THIS-OBJECT:DockPrincipal:ActiveWindow.
                        cValeur = THIS-OBJECT:oongFamilleListe:GetToolwindowFurtifValeur( oToolwindow:NAME ).

                        InitialiseToolWindow( oToolwindow:NAME ).
                        CASE oToolwindow:Name:                        
                            WHEN gcToolWindowNomAide[1] THEN DO:
                                IF cValeur NE "?" AND cValeur NE 'OFF'
                                    THEN THIS-OBJECT:oongCodeAnalytiqueAide:Initialisation(cValeur).                                
                                    ELSE THIS-OBJECT:oongCodeAnalytiqueAide:Initialisation("").

                                oToolwindow:Enabled = ( cValeur NE "?" AND cValeur NE 'OFF').        
                            END.
                            WHEN gcToolWindowNomFiltre[1] THEN DO:   

                               glDockParCode= YES.            
                               oToolwindow:DockState=  Telerik.WinControls.UI.Docking.DockState:Docked.
                               glDockParCode= NO.

                                oToolwindow:Enabled = YES.      
                                gcNoeudCourant = 'C000'.
                                glFiltreVisibleFamille = YES.  
                                oongFamilleArborescence:SelectionNoeud(gcNoeudCourant).

                                IF glRafraichir THEN DO:
                                    SetEtatObjet("BtnSupprimer", NO).                                    
                                    //SetEtatObjet("BtnCopier", NO).
                                    //SetEtatObjet("BtnColler", NO).
                                    //SetEtatObjet("BtnCollerInserer", NO).
                                    oongFamilleListe:SetParamFiltreFamille ( glFiltreVisibleFamille ,gcNoeudCourant ).  
                                    oongFamilleListe:Rafraichir( ).

                                END.

                            END.                                               
                        END CASE.

                        THIS-OBJECT:DockPrincipal:ActiveWindow = oToolwindow.

                    END.
                    ELSE 
                    DO:
                        THIS-OBJECT:DockPrincipal:CloseAutoHidePopup().
                        oToolwindow:AutoHideTab:Click:UnSubscribe(THIS-OBJECT:TabStripItem_Click) NO-ERROR.
                        oToolwindow:AutoHideTab:Click:Subscribe(THIS-OBJECT:TabStripItem_Click) NO-ERROR.
                        IF THIS-OBJECT:DockPrincipal:ActiveWindow NE oActiveWindow THEN
                            THIS-OBJECT:DockPrincipal:ActiveWindow = oActiveWindow.
                    END.
                END.
            END.
            ELSE DO:
                MESSAGE 'ERR - TabStripItem_Click '
                VIEW-AS ALERT-BOX.
                RETURN.
            END. 
        END.             
      /*                   
      IF lFlgDocked THEN DO:                      
          //oToolwindow:AutoHideTab:Click:UnSubscribe(THIS-OBJECT:TabStripItem_Click) NO-ERROR.
                           glDockParCode = YES.
                           oToolwindow:DockState=  Telerik.WinControls.UI.Docking.DockState:Docked NO-ERROR.  
                           oToolwindow:Tag = "ON".
                           glDockParCode = NO.
                       //    oToolwindow:AutoHideTab:Click:Subscribe(THIS-OBJECT:TabStripItem_Click) NO-ERROR.
      END.  
      */              
        RETURN.
    END METHOD.

 

                                                                                                                                                                                                                                                                                                                                                                                                           

No answers yet. Maybe you can help?

Tags
General Discussions GridView
Asked by
Laurent
Top achievements
Rank 1
Iron
Iron
Share this question
or