Am 25.11.2015 18:07, schrieb Benoît Minisini: > Le 25/11/2015 17:58, Rolf-Werner Eilert a écrit : >> Am 25.11.2015 13:59, schrieb Benoît Minisini: >>> Le 25/11/2015 09:07, Rolf-Werner Eilert a écrit : >>>> In one of my older projects, there was kinda timeout after 2 minutes of >>>> inactivity. In the TreeView the next parent was jumped at and "clicked" >>>> to let the data of the child disappear from screen. This is the code, >>>> "baum" is the TreeView: >>>> >>>> baum.MoveParent >>>> baum.Item.Selected = True >>>> baum_Click >>>> >>>> Now in Gambas3, when the program doesn't have the focus anymore, I get a >>>> "Null object" error at the baum.Item.Selected line. >>>> >>>> I know, Item is for the internal cursor. And I want the real cursor. But >>>> Current is readonly, right? So how can I set the visible cursor? Or does >>>> the error come from something quite different? >>>> >>>> Regards >>>> Rolf >>>> >>> Provide more code. If baum.Item returns NULL, that should mean that >>> MoveParent() failed. >>> >> Ok, that gives me an idea where to look. >> >> There is not much more code: >> >> Public Sub Timer2_Timer() >> >> If PrivacyPause Then >> Timer2EventZlr = 1 >> Return >> End If >> >> If Timer2EventZlr > 0 Then >> Timer2EventZlr = 0 >> >> Else >> If tab.Index = 0 Then >> If Left$(baum.Current.Key, 1) = "#" Then >> baum.MoveParent >> baum.Item.Selected = True >> baum_Click >> End If >> Else >> tab.Index = 0 >> End If >> >> End If >> >> End >> >> Every 60 seconds the Timer looks if there is another Tab than 0 open. If >> yes, the first action is to set it back to the first Tab. The next time, >> it should set the cursor from the personal entry (child) back to its >> parent, so the personal data aren't shown anymore and you cannot see who >> was clicked. >> >> Of course, there is a check for activity at some places in the program, >> but this still seems to run as expected. The problem appears only when >> the program window is hidden and has no focus or when it's on another >> screen. Maybe the TreeView "forgets" about its position then? >> >> Regards >> Rolf >> > No. I guess that accessing baum.Current does not move the Item cursor > anymore. Just try to add baum.MoveCurrent before baum.MoveParent, it > should fix your problem. > > Regards, >
And here we go again: There's another place with a Null Object error. This time, there is a dialog which is called when a certain is clicked in the TreeView. The dialog asks for a new entry for the TreeView. To make things short, this is what happens: dlgNeuerName.ShowDialog baum.MoveCurrent baum.Current.Expanded = True 'no problem up to here 'now read all data of the children into a list "ls" Do If baum.MoveBelow() Then Break If Left$(baum.Item.Key, 1) <> "#" Then Break ls.Add(baum.Item.Text & Chr$(6) & baum.Item.Key) Loop 'no problem baum.MoveCurrent 'print baum.Current.Key shows: everything ok up to here, but: baum.Item.Clear Here is the Null Object error again. I tried: baum.Current.Clear (instead of Item) as well as baum.MoveCurrent baum.MoveParent baum.Item.Clear No chance. Any idea? Thank you! And if you are not there right now - have a nice weekend! Rolf ------------------------------------------------------------------------------ _______________________________________________ Gambas-user mailing list Gambas-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gambas-user