Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подскажите когда и как надо освобождать TOpenSaveDialog [Delphi, Windows]


someone ©   (2008-02-18 21:48:00) 

Подскажите когда и как надо освобождать TOpenSaveDialog?

Вот фрагмент кода:


uses KOL;

var   Form1: TForm1;  OpenSaveDialog :TOpenSaveDialog ;

implementation {$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
   IF OpenSaveDialog.Execute THEN
   BEGIN
     Caption:=OpenSaveDialog.Filename;
   END;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
   OpenSaveDialog.Create;
   OpenSaveDialog.OpenDialog:=true;
end;


Если освобождать в событии TForm1.FormClose, то будет ошибка.


Rocket   (2008-03-14 08:46:00) [1]


> SetCurrentDirectory()

Спасибо, Тыщ! :)


mdw   (2008-03-13 11:21:00) [2]


> Кстати, многие программы этим - [3] страдают.

Например Delphi7. :))


Тыщ   (2008-03-13 09:07:00) [3]

SetCurrentDirectory()
Кстати, многие программы этим - [3] страдают.


Rocket   (2008-03-13 07:58:00) [4]


> текущий каталог меняй после диалога

Текущий каталог чего? Диалог я после показа вообще освобождаю. Пробовал указывать в InitialDir и Filename и пустые строки и "левые" (существующие) пути, но мало того, что после этого надо сделать Execute, так ещё и выбрать другой файл, чтоб всё сработало (папку "отпустило" :) )...


GMax   (2008-03-12 21:45:00) [5]

текущий каталог меняй после диалога


Rocket   (2008-03-12 10:17:00) [6]

Попробовал в VCL - так же. Что ж теперь, писать свой собственный диалог?


Rocket   (2008-03-12 10:02:00) [7]

После выбора файла через TKOLOpenSaveDialog я не могу удалить папку, содержащую выбранный файл, пока не закрою свою программу. Причём сам файл удаляется успешно, проблема именно с папкой. Почему так происходит и как с этим бороться?


someone   (2008-02-18 22:25:00) [8]

Вот так?:

uses KOL;

var   Form1: TForm1;

OpenDialog:POpenSaveDialog;

implementation {$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
   IF OpenDialog.Execute THEN
   BEGIN
     Caption:=OpenDialog.Filename;
   END;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  OpenDialog:=NewOpenSaveDialog('Add...','',[]);
  OpenDialog.OpenDialog := True;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
 OpenDialog.Free;
end;


Vladimir Kladov   (2008-02-18 21:55:00) [9]

nEWoPENsAVEdIALOG


Наверх

Титульная страница Поиск, карта сайта Написать письмо