• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

Ошибки С Shelltreeview

Статус
Закрыто для дальнейших ответов.

Игорь

Принятый Кодер
Регистрация
23 Дек 2015
Сообщения
8
Баллы
40
Доброго всем настроения! Пожалуйста, помогите разобраться с ShellTreeView-проблема в следующем: при переименовании и при добавлении (но в определенных случаях) При переименовании папки выводит на "ошибку" в конец кода .end во вкладке Project1, а в ошибке 'FileCtrl' is specific to platform. При переименовании, а иногда и без него выдает ошибку о несуществуещем разделе или недоступности, хотя файл сам существует. При добавлении папки, а затем после ее переименования, когда я хочу добавить еще одну новую папку выдает ошибку. Ошибки разные, то недоступность данной папки, то просто "абаркадабра" Error1091498234-такого рода.
Ниже привожу код:
Код:
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, ComCtrls, StdCtrls, FileCtrl, ShellCtrls, Grids,
  Outline, DirOutln, CheckLst, DBGrids, dblookup, OoMisc, AdMdm, OleServer,
  CmAdmCtl;
type
  TForm1 = class(TForm)
    Panel2: TPanel;
    Panel4: TPanel;
    Edit1: TEdit;
    FilterComboBox1: TFilterComboBox;
    Panel6: TPanel;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    PrintDialog1: TPrintDialog;
    FindDialog1: TFindDialog;
    ShellComboBox1: TShellComboBox;
    Panel1: TPanel;
    GroupBox1: TGroupBox;
    ShellListView1: TShellListView;
    COMAdminCatalog1: TCOMAdminCatalog;
    AdModemStatus1: TAdModemStatus;
    Panel8: TPanel;
    Splitter1: TSplitter;
    Panel9: TPanel;
    Panel3: TPanel;
    GroupBox2: TGroupBox;
    ShellTreeView1: TShellTreeView;
    Splitter3: TSplitter;
    GroupBox4: TGroupBox;
    Memo1: TMemo;
    Edit2: TEdit;
    Button1: TButton;
    Panel5: TPanel;
    GroupBox5: TGroupBox;
    Splitter2: TSplitter;
    ComboBox1: TComboBox;
    DateTimePicker1: TDateTimePicker;
    procedure ShellListView1Click(Sender: TObject);
    procedure ShellTreeView1Change(Sender: TObject; Node: TTreeNode);
    procedure Button1Click(Sender: TObject);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ShellListView1Click(Sender: TObject);
var
SelectedFolder:TShellFolder;
FileName:string;
begin
SelectedFolder:=ShellListView1.SelectedFolder;
if Assigned(SelectedFolder)
then begin
FileName:=SelectedFolder.PathName;
if FileExists(FileName) and (ExtractFileExt(FileName)='.txt')
then Memo1.Lines.LoadFromFile(FileName);
end;
end;
procedure TForm1.ShellTreeView1Change(Sender: TObject; Node: TTreeNode);
 
begin
Form1.Edit2.Text := Form1.ShellTreeView1.Path
end;
procedure TForm1.Button1Click(Sender: TObject); // нажимаем на кнопку-"создать папку"
begin
mkdir(ShellTreeView1.SelectedFolder.PathName + '/новая папка'); // сам код, создания папки
self.ShellTreeView1.Selected.Expanded:=false;
self.ShellTreeView1.Selected.SelectedIndex:=self.ShellTreeView1.Selected.SelectedIndex;
self.ShellTreeView1.Selected.Expanded:=true;
end;
end.
В принципе все работает, но с ошибками! Ну почти работает... При создании папки все хорошо, затем я ее переименовываю, в ней создаю еще папку, в вот с третьей папкой проблема-выдает ошибки (смотреть скриншоты)

1.jpg 2.jpg 3.jpg 4.jpg 5.jpg

з.ы. На другом форуме ничего не смогли (или не захотели) посоветовать
 
Доброго всем настроения! Пожалуйста, помогите разобраться с ShellTreeView-проблема в следующем: при переименовании и при добавлении (но в определенных случаях) При переименовании папки выводит на "ошибку" в конец кода .end во вкладке Project1, а в ошибке 'FileCtrl' is specific to platform. При переименовании, а иногда и без него выдает ошибку о несуществуещем разделе или недоступности, хотя файл сам существует. При добавлении папки, а затем после ее переименования, когда я хочу добавить еще одну новую папку выдает ошибку. Ошибки разные, то недоступность данной папки, то просто "абаркадабра" Error1091498234-такого рода.
Ниже привожу код:
Код:
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, ComCtrls, StdCtrls, FileCtrl, ShellCtrls, Grids,
  Outline, DirOutln, CheckLst, DBGrids, dblookup, OoMisc, AdMdm, OleServer,
  CmAdmCtl;
type
  TForm1 = class(TForm)
    Panel2: TPanel;
    Panel4: TPanel;
    Edit1: TEdit;
    FilterComboBox1: TFilterComboBox;
    Panel6: TPanel;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    PrintDialog1: TPrintDialog;
    FindDialog1: TFindDialog;
    ShellComboBox1: TShellComboBox;
    Panel1: TPanel;
    GroupBox1: TGroupBox;
    ShellListView1: TShellListView;
    COMAdminCatalog1: TCOMAdminCatalog;
    AdModemStatus1: TAdModemStatus;
    Panel8: TPanel;
    Splitter1: TSplitter;
    Panel9: TPanel;
    Panel3: TPanel;
    GroupBox2: TGroupBox;
    ShellTreeView1: TShellTreeView;
    Splitter3: TSplitter;
    GroupBox4: TGroupBox;
    Memo1: TMemo;
    Edit2: TEdit;
    Button1: TButton;
    Panel5: TPanel;
    GroupBox5: TGroupBox;
    Splitter2: TSplitter;
    ComboBox1: TComboBox;
    DateTimePicker1: TDateTimePicker;
    procedure ShellListView1Click(Sender: TObject);
    procedure ShellTreeView1Change(Sender: TObject; Node: TTreeNode);
    procedure Button1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ShellListView1Click(Sender: TObject);
var
SelectedFolder:TShellFolder;
FileName:string;
begin
SelectedFolder:=ShellListView1.SelectedFolder;
if Assigned(SelectedFolder)
then begin
FileName:=SelectedFolder.PathName;
if FileExists(FileName) and (ExtractFileExt(FileName)='.txt')
then Memo1.Lines.LoadFromFile(FileName);
end;
end;
procedure TForm1.ShellTreeView1Change(Sender: TObject; Node: TTreeNode);

begin
Form1.Edit2.Text := Form1.ShellTreeView1.Path
end;
procedure TForm1.Button1Click(Sender: TObject); // нажимаем на кнопку-"создать папку"
begin
mkdir(ShellTreeView1.SelectedFolder.PathName + '/новая папка'); // сам код, создания папки
self.ShellTreeView1.Selected.Expanded:=false;
self.ShellTreeView1.Selected.SelectedIndex:=self.ShellTreeView1.Selected.SelectedIndex;
self.ShellTreeView1.Selected.Expanded:=true;
end;
end.
В принципе все работает, но с ошибками! Ну почти работает... При создании папки все хорошо, затем я ее переименовываю, в ней создаю еще папку, в вот с третьей папкой проблема-выдает ошибки (смотреть скриншоты)

Посмотреть вложение 194 Посмотреть вложение 195 Посмотреть вложение 196 Посмотреть вложение 197 Посмотреть вложение 198

з.ы. На другом форуме ничего не смогли (или не захотели) посоветовать

Попробуй поставить свойство ShellTreeView1.AutoRefresh в значение true,
procedure TForm1.Button1Click(Sender: TObject); // нажимаем на кнопку-"создать папку"
begin
mkdir(ShellTreeView1.SelectedFolder.PathName + '/новая папка'); // сам код, создания папки
end;
 
Доброго всем настроения! Пожалуйста, помогите разобраться с ShellTreeView-проблема в следующем: при переименовании и при добавлении (но в определенных случаях) При переименовании папки выводит на "ошибку" в конец кода .end во вкладке Project1, а в ошибке 'FileCtrl' is specific to platform. При переименовании, а иногда и без него выдает ошибку о несуществуещем разделе или недоступности, хотя файл сам существует. При добавлении папки, а затем после ее переименования, когда я хочу добавить еще одну новую папку выдает ошибку. Ошибки разные, то недоступность данной папки, то просто "абаркадабра" Error1091498234-такого рода.
Ниже привожу код:
Код:
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, ComCtrls, StdCtrls, FileCtrl, ShellCtrls, Grids,
  Outline, DirOutln, CheckLst, DBGrids, dblookup, OoMisc, AdMdm, OleServer,
  CmAdmCtl;
type
  TForm1 = class(TForm)
    Panel2: TPanel;
    Panel4: TPanel;
    Edit1: TEdit;
    FilterComboBox1: TFilterComboBox;
    Panel6: TPanel;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    PrintDialog1: TPrintDialog;
    FindDialog1: TFindDialog;
    ShellComboBox1: TShellComboBox;
    Panel1: TPanel;
    GroupBox1: TGroupBox;
    ShellListView1: TShellListView;
    COMAdminCatalog1: TCOMAdminCatalog;
    AdModemStatus1: TAdModemStatus;
    Panel8: TPanel;
    Splitter1: TSplitter;
    Panel9: TPanel;
    Panel3: TPanel;
    GroupBox2: TGroupBox;
    ShellTreeView1: TShellTreeView;
    Splitter3: TSplitter;
    GroupBox4: TGroupBox;
    Memo1: TMemo;
    Edit2: TEdit;
    Button1: TButton;
    Panel5: TPanel;
    GroupBox5: TGroupBox;
    Splitter2: TSplitter;
    ComboBox1: TComboBox;
    DateTimePicker1: TDateTimePicker;
    procedure ShellListView1Click(Sender: TObject);
    procedure ShellTreeView1Change(Sender: TObject; Node: TTreeNode);
    procedure Button1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ShellListView1Click(Sender: TObject);
var
SelectedFolder:TShellFolder;
FileName:string;
begin
SelectedFolder:=ShellListView1.SelectedFolder;
if Assigned(SelectedFolder)
then begin
FileName:=SelectedFolder.PathName;
if FileExists(FileName) and (ExtractFileExt(FileName)='.txt')
then Memo1.Lines.LoadFromFile(FileName);
end;
end;
procedure TForm1.ShellTreeView1Change(Sender: TObject; Node: TTreeNode);

begin
Form1.Edit2.Text := Form1.ShellTreeView1.Path
end;
procedure TForm1.Button1Click(Sender: TObject); // нажимаем на кнопку-"создать папку"
begin
mkdir(ShellTreeView1.SelectedFolder.PathName + '/новая папка'); // сам код, создания папки
self.ShellTreeView1.Selected.Expanded:=false;
self.ShellTreeView1.Selected.SelectedIndex:=self.ShellTreeView1.Selected.SelectedIndex;
self.ShellTreeView1.Selected.Expanded:=true;
end;
end.
В принципе все работает, но с ошибками! Ну почти работает... При создании папки все хорошо, затем я ее переименовываю, в ней создаю еще папку, в вот с третьей папкой проблема-выдает ошибки (смотреть скриншоты)

Посмотреть вложение 194 Посмотреть вложение 195 Посмотреть вложение 196 Посмотреть вложение 197 Посмотреть вложение 198

з.ы. На другом форуме ничего не смогли (или не захотели) посоветовать
На счет
Доброго всем настроения! Пожалуйста, помогите разобраться с ShellTreeView-проблема в следующем: при переименовании и при добавлении (но в определенных случаях) При переименовании папки выводит на "ошибку" в конец кода .end во вкладке Project1, а в ошибке 'FileCtrl' is specific to platform. При переименовании, а иногда и без него выдает ошибку о несуществуещем разделе или недоступности, хотя файл сам существует. При добавлении папки, а затем после ее переименования, когда я хочу добавить еще одну новую папку выдает ошибку. Ошибки разные, то недоступность данной папки, то просто "абаркадабра" Error1091498234-такого рода.
Ниже привожу код:
Код:
unit Unit1;
interface
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, ComCtrls, StdCtrls, FileCtrl, ShellCtrls, Grids,
  Outline, DirOutln, CheckLst, DBGrids, dblookup, OoMisc, AdMdm, OleServer,
  CmAdmCtl;
type
  TForm1 = class(TForm)
    Panel2: TPanel;
    Panel4: TPanel;
    Edit1: TEdit;
    FilterComboBox1: TFilterComboBox;
    Panel6: TPanel;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    PrintDialog1: TPrintDialog;
    FindDialog1: TFindDialog;
    ShellComboBox1: TShellComboBox;
    Panel1: TPanel;
    GroupBox1: TGroupBox;
    ShellListView1: TShellListView;
    COMAdminCatalog1: TCOMAdminCatalog;
    AdModemStatus1: TAdModemStatus;
    Panel8: TPanel;
    Splitter1: TSplitter;
    Panel9: TPanel;
    Panel3: TPanel;
    GroupBox2: TGroupBox;
    ShellTreeView1: TShellTreeView;
    Splitter3: TSplitter;
    GroupBox4: TGroupBox;
    Memo1: TMemo;
    Edit2: TEdit;
    Button1: TButton;
    Panel5: TPanel;
    GroupBox5: TGroupBox;
    Splitter2: TSplitter;
    ComboBox1: TComboBox;
    DateTimePicker1: TDateTimePicker;
    procedure ShellListView1Click(Sender: TObject);
    procedure ShellTreeView1Change(Sender: TObject; Node: TTreeNode);
    procedure Button1Click(Sender: TObject);

  private
    { Private declarations }
  public
    { Public declarations }
  end;
var
  Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.ShellListView1Click(Sender: TObject);
var
SelectedFolder:TShellFolder;
FileName:string;
begin
SelectedFolder:=ShellListView1.SelectedFolder;
if Assigned(SelectedFolder)
then begin
FileName:=SelectedFolder.PathName;
if FileExists(FileName) and (ExtractFileExt(FileName)='.txt')
then Memo1.Lines.LoadFromFile(FileName);
end;
end;
procedure TForm1.ShellTreeView1Change(Sender: TObject; Node: TTreeNode);

begin
Form1.Edit2.Text := Form1.ShellTreeView1.Path
end;
procedure TForm1.Button1Click(Sender: TObject); // нажимаем на кнопку-"создать папку"
begin
mkdir(ShellTreeView1.SelectedFolder.PathName + '/новая папка'); // сам код, создания папки
self.ShellTreeView1.Selected.Expanded:=false;
self.ShellTreeView1.Selected.SelectedIndex:=self.ShellTreeView1.Selected.SelectedIndex;
self.ShellTreeView1.Selected.Expanded:=true;
end;
end.
В принципе все работает, но с ошибками! Ну почти работает... При создании папки все хорошо, затем я ее переименовываю, в ней создаю еще папку, в вот с третьей папкой проблема-выдает ошибки (смотреть скриншоты)

Посмотреть вложение 194 Посмотреть вложение 195 Посмотреть вложение 196 Посмотреть вложение 197 Посмотреть вложение 198

з.ы. На другом форуме ничего не смогли (или не захотели) посоветовать
Здравствуйте,добро пожаловать на наш форум,в ответ дам вот таккой код,думаю с этого нужно начать.
Код:
ShellTreeView1.Refresh(ShellTreeView1.Selected.Parent); //обновляем
Если чем то помогли пишите .
А так у нас есть много специалистов,но большинство стесняется ответить.
 
Свойство Auto Arrange определяет, должно ли автоматически производиться переупорядочивание при удалении, добавлении или перемещении элементов.
 
На счет

Здравствуйте,добро пожаловать на наш форум,в ответ дам вот таккой код,думаю с этого нужно начать.
Код:
ShellTreeView1.Refresh(ShellTreeView1.Selected.Parent); //обновляем
Если чем то помогли пишите .
А так у нас есть много специалистов,но большинство стесняется ответить.

Значение автообновления стоит, но увы положение дел не меняется! =( писал и програмно-тоже самое, попробовал ваш вариант, тоже не помогает!... у меня стоит windows xp и delphi 7. я уже начинаю думать что проблема может быть в компоненте? Также включал взаимоисключающиие варианты (autorefresh =falsh) а программно
ShellTreeView1.Refresh(ShellTreeView1.Selected.Parent); //обновляем
. и наоборот. Но даже если без этих кодов- на чистой форме поставить этот компонент, попробовать переименовать папку и подняться на уровень выше-ошибка!... Дело не в коде, а в элементе, что с этим делать? Посоветуйте товарищи!
 
Многие писали про этот проблемный компонент shellTreeView, но он мне очень он нравится! очень удобный! но вот работал бы только! я сижу на 7 делфе, может в новых делфах есть варианты получе? или аналогичные компоненты?
 
Alphacontrols попробуй это установить
 
Пароль для распаковки - слово "рассмотрение", набранное маленькими русскими буквами в английской раскладке.
Alphacontrols попробуй это установить

пытаюсь разархиваровать а у меня просит пароль Посмотреть вложение 199
 
Последнее редактирование:
Получается, что лучше не работать с этим (shellTreeView) компонентом? Ребят, выручайте очень нужно! Готов даже отблагодарить, если поможете решить проблемы!
Alphacontrols попробуй это установить
 
Получается, что лучше не работать с этим (shellTreeView) компонентом? Ребят, выручайте очень нужно! Готов даже отблагодарить, если поможете решить проблемы!
Ну я просмотрел весь Гугл и у большинства программистов проблемы с этим компонентом ,на данный момент оптимальная делпхи это rad studio Seattle 10 ,можешь скачать у нас на форуме,там намного все лучше,можешь писать софт под вин 10 . Вообщем смотри обзор и тривью на много лучше .
 
Большое спасибо за ответы! Форум нравится своей отзывчивостью и доброжелательностью! Правда тормозит немного( но может быть это только у меня)

Ну я просмотрел весь Гугл и у большинства программистов проблемы с этим компонентом ,на данный момент оптимальная делпхи это rad studio Seattle 10 ,можешь скачать у нас на форуме,там намного все лучше,можешь писать софт под вин 10 . Вообщем смотри обзор и тривью на много лучше .
 
Большое спасибо за ответы! Форум нравится своей отзывчивостью и доброжелательностью! Правда тормозит немного( но может быть это только у меня)
Скорей всего только у вас,так как сервер стоит в Германии и еще не кто не жаловался ,вы первые wikende036
 
Если быть точнее-я не набирал этот набор букв) то Пароль для распаковки - слово "рассмотрение", набранное маленькими русскими буквами в английской раскладке.
 
Статус
Закрыто для дальнейших ответов.
Вверх Снизу