Доброго всем настроения! Пожалуйста, помогите разобраться с 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.
з.ы. На другом форуме ничего не смогли (или не захотели) посоветовать
