-
Подскажите когда и как надо освобождать TOpenSaveDialog? Вот фрагмент кода:
uses KOL;
var Form1: TForm1; OpenSaveDialog :TOpenSaveDialog ;
implementation
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, то будет ошибка.
-
nEWoPENsAVEdIALOG
-
Вот так?:
uses KOL;
var Form1: TForm1;
OpenDialog:POpenSaveDialog;
implementation
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;
-
После выбора файла через TKOLOpenSaveDialog я не могу удалить папку, содержащую выбранный файл, пока не закрою свою программу. Причём сам файл удаляется успешно, проблема именно с папкой. Почему так происходит и как с этим бороться?
-
Попробовал в VCL - так же. Что ж теперь, писать свой собственный диалог?
-
текущий каталог меняй после диалога
-
> текущий каталог меняй после диалога
Текущий каталог чего? Диалог я после показа вообще освобождаю. Пробовал указывать в InitialDir и Filename и пустые строки и "левые" (существующие) пути, но мало того, что после этого надо сделать Execute, так ещё и выбрать другой файл, чтоб всё сработало (папку "отпустило" :) )...
-
SetCurrentDirectory() Кстати, многие программы этим - [3] страдают.
-
> Кстати, многие программы этим - [3] страдают.
Например Delphi7. :))
-
> SetCurrentDirectory()
Спасибо, Тыщ! :)
|