Форум: "Основная";
Текущий архив: 2003.11.17;
Скачать: [xml.tar.bz2];
ВнизTOpenDialog, как сделать? Найти похожие ветки
← →
RoLeX (2003-11-06 00:02) [0]На нажатие кнопки написал следующий код:
procedure TForm1.Button6Click(Sender: TObject);
var OpenDlg: TOpenDialog;
begin
OpenDlg := TOpenDialog.Create(Self);
OpenDlg.Filter := "All files (*.*)|*.*";
if OpenDlg.Execute then begin
if (Length(OpenDlg.FileName) > 20) then begin
label2.Caption := ExtractFileDrive(OpenDlg.FileName)+"\...\"+ExtractFileName(OpenDlg.FileName); end else begin
label2.Caption := OpenDlg.FileName; end;
label2.Hint := OpenDlg.FileName;
end;
end;
Всё работает хорошо, но при закрытии программы, прога должна выполнить следующее:
procedure TForm1.FormDestroy(Sender: TObject);
begin
Shell_NotifyIcon(NIM_DELETE,@FIconData);
ini := TIniFile.Create(GetCurrentDir+"\XXX.ini");
try with Ini do begin
WriteBool("WHAT DOING", "OpenFile", radioBtnOpenFile.Checked);
end; finally ini.Free;
end;
end;
А программа его не выполняет! Причём не выполнят тогда, когда я нажимал кнопку Button6 и выбрал файл!
Но если не нажимать Button6 или нажать на неё, но невыбрать файл в диалоге "OpenDlg"(т.е. нажать кнопку "Отмена") то procedure TForm1.FormDestroy выполняется нормально!
Вопрос: Где-же я допустил ошибку, что в "procedure TForm1.Button6Click" написано не правильно???
← →
Тохус (2003-11-06 00:20) [1]Процедура FormDestroy вообще не выполняется или не создает ini-файл?
← →
Makhanev A.S. (2003-11-06 00:21) [2]
> Вопрос: Где-же я допустил ошибку, что в "procedure TForm1.Button6Click"
> написано не правильно???
OpenDlg.Free;
Объект освободи.
← →
RoLeX (2003-11-06 00:32) [3]
> Тохус © (06.11.03 00:20) [1]
> Процедура FormDestroy вообще не выполняется или не создает
> ini-файл?
Форма-то закрывается, но ini файл не создаётся.
> Makhanev A.S. © (06.11.03 00:21) [2]
> OpenDlg.Free;
>
> Объект освободи.
Пробовал, писал так:
procedure TForm1.Button6Click(Sender: TObject);
var OpenDlg: TOpenDialog;
begin
OpenDlg := TOpenDialog.Create(Self);
OpenDlg.Filter := "All files (*.*)|*.*";
if OpenDlg.Execute then begin
if (Length(OpenDlg.FileName) > 20) then begin
label2.Caption := ExtractFileDrive(OpenDlg.FileName)+"\...\"+ExtractFileName(OpenDlg.FileName); end else begin
label2.Caption := OpenDlg.FileName; end;
label2.Hint := OpenDlg.FileName;
end;
OpenDlg.Free;
end;
Всё-равно не получается.
← →
Тохус (2003-11-06 01:00) [4]
> Форма-то закрывается, но ini файл не создаётся.
Ясен пень, что форма закрывается, ты посмотри в отладчике, выполняется ли эта процедура
← →
RoLeX (2003-11-06 01:09) [5]
> Тохус © (06.11.03 01:00) [4]
>
> > Форма-то закрывается, но ini файл не создаётся.
>
> Ясен пень, что форма закрывается, ты посмотри в отладчике,
> выполняется ли эта процедура
Гм, сорри за тупой ответ, но я ещё так делать не научился :((
Блин, а чё больше никто не может помочь???
← →
kDenis (2003-11-06 02:01) [6]А может INI-файл создается, но не там, где тебе надо?
Если он должен быть там, где EXE-файл программы, то следует писать:
...
ini := TIniFile.Create(ExtractFilePath(application.exeName)+"XXX.ini");
...
← →
RoLeX (2003-11-06 02:22) [7]
> А может INI-файл создается, но не там, где тебе надо?
> Если он должен быть там, где EXE-файл программы, то следует
> писать:
> ...
>
> ini := TIniFile.Create(ExtractFilePath(application.exeName)+"XXX.ini");
ini := TIniFile.Create(GetCurrentDir+"\XXX.ini");
А там так и написано, только по другому. В общем не в ту дыру ты полез, вроде не из-за него проблема.
← →
Германн (2003-11-06 03:37) [8]GetCurrentDir выдает текущий рабочий каталог программы.
Использование TOpenDialog в программе приводит к смене вышеописанного на тот, в котором выбран некий файл в методе TOpenDialog.Execute.
Сколько раз используешь сей диалог, столько же раз меняешь текущий каталог!
← →
RoLeX (2003-11-06 04:08) [9]
> Германн © (06.11.03 03:37) [8]
> GetCurrentDir выдает текущий рабочий каталог программы.
> Использование TOpenDialog в программе приводит к смене вышеописанного
> на тот, в котором выбран некий файл в методе TOpenDialog.Execute.
> Сколько раз используешь сей диалог, столько же раз меняешь
> текущий каталог!
Вот тебе большое спасибо! Всё теперь круто!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.11.17;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.011 c