Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];

Вниз

IniFile не создаётся и не записывается, и не понятно почему...   Найти похожие ветки 

 
Dust ©   (2006-03-21 22:06) [0]

constructor TEmailSettings.ManualCreate(AOwner: TComponent;
 const IniFileName, SectionName: string);
begin
inherited Create (AOwner);
Self.Show;
FIniFile := TIniFile.Create(IniFileName);
...
end;

procedure TEmailSettings.Button1Click(Sender: TObject);
begin
FIniFile.WriteString (FSectionName, "SMTPServer", LabeledEdit1.Text);
FIniFile.WriteInteger(FSectionName, "SMTPPort", StrToInt(LabeledEdit6.Text));

FIniFile.WriteString (FSectionName, "SMTPUSER", LabeledEdit2.Text);
FIniFile.WriteString (FSectionName, "SMTPPASSWORD", LabeledEdit3.Text);

FIniFile.WriteString (FSectionName, "SENTDIR", LabeledEdit4.Text);
FIniFile.WriteString (FSectionName, "OUTBOXDIR", LabeledEdit5.Text);
end;

procedure TEmailSettings.Button2Click(Sender: TObject);
begin
Button1Click(self);
FIniFile.Free;
Self.Close();
end;


 
Джо ©   (2006-03-21 22:08) [1]

На что отладчик даден, интересно? ;)


 
Dust ©   (2006-03-21 22:13) [2]

Вся отладка заканчивается в модуле Windows
на строке
function WritePrivateProfileString; external kernel32 name "WritePrivateProfileStringA";


 
Джо ©   (2006-03-21 22:24) [3]

Отладчиком нужно посмотреть значения, передаваемые в эту функцию. Возможно, имя файла равно пустой строке.


 
Anatoly Podgoretsky ©   (2006-03-21 22:27) [4]

Не ясен IniFileName


 
Старик   (2006-03-22 10:18) [5]

Anatoly Podgoretsky:
Да, скорее всего это. У меня часто бывало такое, что ини-файл создавался черт знает где либо вообще не создавался, если я в конструкторе не укажу ему полный путь + имя файла.ini


 
Плохиш ©   (2006-03-22 10:48) [6]


> Старик   (22.03.06 10:18) [5]
> Anatoly Podgoretsky:
> Да, скорее всего это. У меня часто бывало такое, что ини-
> файл создавался черт знает где

Это "черт знает где" очень хорошо описано во встроенной справке.


 
Dust ©   (2006-03-22 11:00) [7]

Вопрос решён, всем спасибо. Имя INI файла действительно должно быть с полным путём (я просто передавал Settings.ini).


 
Старик   (2006-03-22 11:20) [8]

Плохиш, ты уж извини, но на моей рабочей машине делфи нет, и в справку заглянуть неоткуда.


 
Плохиш ©   (2006-03-22 11:27) [9]


> Старик   (22.03.06 10:18) [5]
> Anatoly Podgoretsky:
> Да, скорее всего это. У меня часто бывало такое, что ини-
> файл создавался черт знает где либо вообще не создавался,
>  если я в конструкторе не укажу ему полный путь + имя файла.
> ini


> Старик   (22.03.06 11:20) [8]
> Плохиш, ты уж извини, но на моей рабочей машине делфи нет,
>  и в справку заглянуть неоткуда
.

Мдя, я плякал.


 
Anatoly Podgoretsky ©   (2006-03-22 11:29) [10]

Он в двоичных кодах пишет.


 
antonn ©   (2006-03-22 11:29) [11]

Dust ©   (22.03.06 11:00) [7]
(я просто передавал Settings.ini).

тогда он создавался не черти где, а в текущей директории...


 
Плохиш ©   (2006-03-22 11:35) [12]


> antonn ©   (22.03.06 11:29) [11]
> Dust ©   (22.03.06 11:00) [7]
> (я просто передавал Settings.ini).
> тогда он создавался не черти где, а в текущей директории

Уверен?


 
antonn ©   (2006-03-22 11:39) [13]

Плохиш ©   (22.03.06 11:35) [12]
Уверен?

ага.
GetCurrentDir покажет точнее, где...


 
Плохиш ©   (2006-03-22 11:45) [14]


> antonn ©   (22.03.06 11:39) [13]

Ню, ню.


 
Anatoly Podgoretsky ©   (2006-03-22 11:53) [15]

Уверенность это хорошо, но когда она соответсвует действительности.


 
antonn ©   (2006-03-22 12:06) [16]

Плохиш ©   (22.03.06 11:45) [14]
Ню, ню.

разве не так? функция возвращает текущий рабочий каталог, который может не совпадать с каталогом, в котором лежит программа...


 
Anatoly Podgoretsky ©   (2006-03-22 12:26) [17]

Не передергивать, к тебе претензии по другому поводу.


 
Старик   (2006-03-22 12:42) [18]

Плохиш, не плачь, родной, не плачь :) Не все так плохо, как кажется
Я точно знаю - проверил не раз - на создание ини-файла не влияет CurrentDir. Вот дай ему в конструктор полный путь, и все тут.


 
Плохиш ©   (2006-03-22 12:46) [19]


> Старик   (22.03.06 12:42) [18]
> Я точно знаю - проверил не раз - на создание ини-файла не
> влияет CurrentDir.

Я знаю, я справку читал :-)


 
antonn ©   (2006-03-22 12:59) [20]

Anatoly Podgoretsky ©   (22.03.06 12:26) [17]
Не передергивать, к тебе претензии по другому поводу.

по какому?


 
Anatoly Podgoretsky ©   (2006-03-22 13:10) [21]

По поводу antonn ©   (22.03.06 11:29) [11]


 
deamon_t   (2006-03-22 13:29) [22]

Я когдато решил вопрос подобным образом имя файла задал ".\settings.ini", если просто то он вроде создаеться в windows\system32...


 
antonn ©   (2006-03-22 13:31) [23]

Anatoly Podgoretsky ©   (22.03.06 13:10) [21]
я ж про текущую директорию говорил, а не про каталог, где находится программа...
при запуске из автозапуска будет создан в \Documents and Settings\юзер\
от ярлыка вообще можно "далеко" прописать...
не пойму, что не так, объясните?


 
Плохиш ©   (2006-03-22 13:53) [24]


> не пойму, что не так, объясните?

Если при создании объекта TIniFile будет передано имя файла, не содержащее полный путь, то файл будет искаться/создан в Windows-папке.

PS. Читайте справку - она рулез форевер.


 
antonn ©   (2006-03-22 14:14) [25]

хм.. в натуре....
а если доступа нет в Windows\итд ?


 
Рамиль ©   (2006-03-22 14:22) [26]


> antonn ©   (22.03.06 14:14) [25]
> хм.. в натуре....
> а если доступа нет в Windows\итд ?

А тогда возникают вопросы типа
IniFile не создаётся и не записывается, и не понятно почему... :)


 
antonn ©   (2006-03-22 14:29) [27]

Рамиль ©   (22.03.06 14:22) [26]
логично:)


 
Старик   (2006-03-22 15:18) [28]

Рамиль всегда славился убойной логикой :)



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2006.04.30;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.51 MB
Время: 0.011 c
1-1142963888
Dublicator
2006-03-21 20:58
2006.04.30
Выравнивание текста по ширине


2-1144674560
Михаил (Киров)
2006-04-10 17:09
2006.04.30
Перетаскивания


15-1144385959
Ega23
2006-04-07 08:59
2006.04.30
С Днём рождения! 7 апреля


2-1144920305
Ded22
2006-04-13 13:25
2006.04.30
передача фокуса


15-1144529218
Petr V. Abramov
2006-04-09 00:46
2006.04.30
Что? Где? Когда? 2006





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский