![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Доброго всем времени суток!
Столкнулся с такой проблемой. Если дерево TTreeView невидимо, после выполнения смены пользователя Windows (не завершение сеанса) к элементам дерева невозможно обратиться программно. Вот весь код тестового приложения: Код:
unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls; type TForm1 = class(TForm) TreeView1: TTreeView; cbVisible: TCheckBox; Button1: TButton; procedure cbVisibleClick(Sender: TObject); procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var i:Integer; S:String; begin for i := 0 to TreeView1.Items.Count-1 do S:=S+#13+TreeView1.Items[i].Text; ShowMessage(S); end; procedure TForm1.cbVisibleClick(Sender: TObject); begin TreeView1.Visible:=cbVisible.Checked; end; end. Делаю так: 1. дерево невидимым (чекбокс) 2. смена пользователя и можно, не меняя, вернуться в эту же учетку 3. кнопка - пустое сообщение Если сделать то же самое с видимым деревом, то все нормально. Возможно, как-то Windows память пытается оптимизировать? Не знаю, подскажите, пожалуйста, что м.б. Спасибо! TreeTest.rar |