Конференция "KOL" » Подскажите когда и как надо освобождать TOpenSaveDialog [Delphi, Windows]
 
  • someone (18.02.08 21:48) [0]
    Подскажите когда и как надо освобождать 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, то будет ошибка.
  • Vladimir Kladov © (18.02.08 21:55) [1]
    nEWoPENsAVEdIALOG
  • someone (18.02.08 22:25) [2]
    Вот так?:

    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;

  • Rocket © (12.03.08 10:02) [3]
    После выбора файла через TKOLOpenSaveDialog я не могу удалить папку, содержащую выбранный файл, пока не закрою свою программу. Причём сам файл удаляется успешно, проблема именно с папкой. Почему так происходит и как с этим бороться?
  • Rocket © (12.03.08 10:17) [4]
    Попробовал в VCL - так же. Что ж теперь, писать свой собственный диалог?
  • GMax (12.03.08 21:45) [5]
    текущий каталог меняй после диалога
  • Rocket © (13.03.08 07:58) [6]

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

    Текущий каталог чего? Диалог я после показа вообще освобождаю. Пробовал указывать в InitialDir и Filename и пустые строки и "левые" (существующие) пути, но мало того, что после этого надо сделать Execute, так ещё и выбрать другой файл, чтоб всё сработало (папку "отпустило" :) )...
  • Тыщ (13.03.08 09:07) [7]
    SetCurrentDirectory()
    Кстати, многие программы этим - [3] страдают.
  • mdw © (13.03.08 11:21) [8]

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

    Например Delphi7. :))
  • Rocket © (14.03.08 08:46) [9]

    > SetCurrentDirectory()

    Спасибо, Тыщ! :)
 
Конференция "KOL" » Подскажите когда и как надо освобождать TOpenSaveDialog [Delphi, Windows]
Есть новые Нет новых   [134435   +35][b:0][p:0.001]