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

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

Не могу открыть файл :-) [D5, Win2k, WinXP]


madcap ©   (2002-03-29 00:09:00) 

Привет !
В FormCreate пишу:

cbHost.Items.LoadFromFile(ExtractFilePath( ParamStr( 0 ) )+"data\smtp.dat"

В Win9x/Me всё работает нормально, а в Win2000/XP выдается ошибка:
Не могу открыть файл ‘smtp.dar’ (по крайней мере, мне так сказали, потому что у меня нет возможности самому это наблюдать)
В чем может быть ошибка?


dd   (2002-04-02 13:16:00) [1]


Song   (2002-03-29 08:14:00) [2]

Извиняюсь, не понял сразу, что на что Вы хотите заменить.
Ему нравится ExtractFilePath(ParamStr(0)), что ж с этим поделаешь? :))


Song   (2002-03-29 08:11:00) [3]

Application.ExeName вернёт имя_запущенной_программы+путь, а ему нужен только путь.
Поэтому, если уж Вы решили блеснуть эрудицией, то тогда написали хотя бы так: ExtractFileDir(Application.ExeName)


SB.John   (2002-03-29 08:06:00) [4]

А если вместо ParamStr(0) написать Application.ExeName ?


Song   (2002-03-29 07:09:00) [5]

Возможно, это особенность w2k
Проверяй на слэш последний символ:

IF ExtractFilePath(ParamStr(0))[Length(ExtractFilePath(ParamStr(0)))]="\" then cbHost.Items.LoadFromFile(ExtractFilePath( ParamStr( 0 ) )+"data\smtp.dat" else cbHost.Items.LoadFromFile(ExtractFilePath( ParamStr( 0 ) )+"\data\smtp.dat";


madcap   (2002-03-29 00:43:00) [6]

>greenrul
в начале я так и написал
но если вывести всю строку на экран, то получится что то вроде
С:\USER\\data\smtp.dat
и что странно в Win9x/Me это работает, а в win2000/XP нет


greenrul   (2002-03-29 00:21:00) [7]

а может надо "\data\smtp.dat"?


Наверх

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