Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.07.2009, 19:04   #1
xLoMMx
Пользователь
 
Аватар для xLoMMx
 
Регистрация: 10.05.2009
Сообщений: 28
По умолчанию WriteInteger

Что может быть не так в данном коде?
Код:
  if (N19->Checked) {
	Ini->WriteInteger("options","pop-up",1);
  }
  else {
	Ini->WriteInteger("options","pop-up",0);
  }
При компиляции ни каких ошибок не возникает, но при выполнении вылетает ошибка и в итоге все виснет...
То, что я только учусь, еще не значит что я идиот!
xLoMMx вне форума Ответить с цитированием
Старый 05.07.2009, 19:41   #2
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

2xLoMMx если у тебя не заводится машина, ты в автосервис только колесо пригоняешь?
Откуда мы знаем, на что указывает Ini, и вообще, указывает ли на что нить. Весь код даннной функции приведи
vvviperrr вне форума Ответить с цитированием
Старый 05.07.2009, 19:47   #3
xLoMMx
Пользователь
 
Аватар для xLoMMx
 
Регистрация: 10.05.2009
Сообщений: 28
По умолчанию

Пожалуйста...
Код:
void __fastcall TForm1::FormDestroy(TObject *Sender)
{
  TCHAR location[100],str[100],*p;
  GetModuleFileName(NULL,location,100);
  p = strrchr(location,'\\');
  strncpy(str,location,p-location+1);
  lstrcat(str,"lOptions.ini");
  //ShowMessage(str);
  TIniFile *Ini = new TIniFile(location);
  if (N19->Checked) {
	Ini->WriteInteger("options","pop-up",1);
  }
  else {
	Ini->WriteInteger("options","pop-up",0);
  }
  if (N20->Checked) {
	Ini->WriteInteger("options","fPanel",1);
  }
  else {
	Ini->WriteInteger("options","fPanel",0);
  }
  delete Ini;
}
То, что я только учусь, еще не значит что я идиот!
xLoMMx вне форума Ответить с цитированием
Старый 05.07.2009, 19:52   #4
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

уверен, что не напутал с указателями?
Код:
TIniFile *Ini = new TIniFile(location);
loaction правильный? вылетает именн на обращении к указателю?
билдера нет, не могу проверить. да и винды нет, не могу поставить
vvviperrr вне форума Ответить с цитированием
Старый 05.07.2009, 19:57   #5
xLoMMx
Пользователь
 
Аватар для xLoMMx
 
Регистрация: 10.05.2009
Сообщений: 28
По умолчанию

Использовал в другом событии все прошло без проблем, работает...
Ошибка вылетает на выполнении этой строки:
Код:
	Ini->WriteInteger("options","pop-up",1);
В итоге все виснет и приходится завершать процесс самого бильдера и исполняемого файла...
То, что я только учусь, еще не значит что я идиот!
xLoMMx вне форума Ответить с цитированием
Старый 05.07.2009, 20:01   #6
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

попробуй засунуть в formclose
vvviperrr вне форума Ответить с цитированием
Старый 05.07.2009, 20:05   #7
xLoMMx
Пользователь
 
Аватар для xLoMMx
 
Регистрация: 10.05.2009
Сообщений: 28
По умолчанию

Эфекта 0 пишет "не удалось записать"
То, что я только учусь, еще не значит что я идиот!
xLoMMx вне форума Ответить с цитированием
Старый 05.07.2009, 20:11   #8
vvviperrr
Тупой студент
Форумчанин
 
Аватар для vvviperrr
 
Регистрация: 12.05.2007
Сообщений: 614
По умолчанию

ну емое, значит путь неверный ты передаешь в конструтор класса ini. смотри в отладчике, что там лежит. или хотя бы messagebox
vvviperrr вне форума Ответить с цитированием
Старый 05.07.2009, 20:45   #9
xLoMMx
Пользователь
 
Аватар для xLoMMx
 
Регистрация: 10.05.2009
Сообщений: 28
По умолчанию

Спс, разобрался
То, что я только учусь, еще не значит что я идиот!
xLoMMx вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц