Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.30;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.027 c
2-1144736119
lionmen
2006-04-11 10:15
2006.04.30
Срочно!!!


2-1144924527
Sybertron
2006-04-13 14:35
2006.04.30
работа с Exel


15-1144309289
Семен Сорокин
2006-04-06 11:41
2006.04.30
Телефонное мошенничество


2-1145028216
zxcv
2006-04-14 19:23
2006.04.30
округления до нужного знака


1-1142946423
Alex_C
2006-03-21 16:07
2006.04.30
Как заставить работать COM в потоке?