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

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

Ошибка с OpenDialog [D6, Win2k]


AlexanderS ©   (2005-08-31 07:42:00) 

Фрагмент кода - процедура клик элемента меню

If OpenDialog1.Execute then
 begin
  System.Assign(File,OpenDialog1.filename);
  System.Reset(File);
  System.Read(file,rec);
  System.Close(GameFile);    
 end;
SwitchToNewType(rec.Type);


в процедуре SwitchToNewType в другом модуле происходит закрытие ранее открытых файлов и открытие новых (возможно, тех же самых) в зависимости от rec.type, так вот если происходит OpenDialog1.Execute то внутри процедуры SwitchToNewType выдается FileExist()=false, Хотя файл никуда не девался и прекрасно открывается если при открытии OpenDialog нажать отмена. Внутренности OPenDialog Тоже не имеют значения...
ЧТо за бред :(


Anatoly Podgoretsky   (2005-09-01 09:20:00) [1]

Германн ©   (01.09.05 02:01) [5]
Где хранить настройке - есть статья на моем сайте в FAQ.
Там нет запрета на ИНИ


Германн   (2005-09-01 02:01:00) [2]

2 AlexanderS   (31.08.05 21:41) [4]

А пользователь должениметь право "запедалить программу куда ему вздумается"! Ну, при установке, кроме "Recicled"! :)
Так, что подумай как реализовать правильно совет Anatoly Podgoretsky ©   (31.08.05 16:46) [3]

Добавлю к этому совету только то, что в реестре есть стандартное место для записи каталога, в который установлена программа. Есть в нем же стандартное место для записи информации, специфичной для неё. Например каталог, где хранятся файлы, которые нужно открывать.

Ну и наконец, есть ini-файлы. (Тут, правда, АП меня не поддержит! Увы.) Но вспоминая Ухудшанского, ini-файлы - есть, значит ими можно пользоваться!


AlexanderS   (2005-08-31 21:41:00) [3]

Глупая идея :) А если пользователь запедалит программу куда ему вздумается? Запоминание GetCurrentDir при запуске рулит :) Три года ничего не писал, однозначно отупел, что даже вопрос в категорию начинающих отправили :)


Anatoly Podgoretsky   (2005-08-31 16:46:00) [4]

Программу надо сделать так, что бы она не зависила от смены каталога в процессе работы, для этого достаточно пользоваться только абсолютными ссылками.


AlexanderS   (2005-08-31 15:19:00) [5]

Спасибо :)

Совсем отупел однако :)


Digitman   (2005-08-31 09:06:00) [6]


> AlexanderS


предположим, OpenDialog изменяет текущий каталог, а ты этот факт в теле SwitchToNewType() никак не проверяешь и не учитываешь


Наверх

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