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

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

Почему? [D7]


Страницы:   1 2

serko ©   (2006-12-08 21:46:00) 

Здрасте всем!

Такой вот баг выскакивает. Есть код:

IniFile := TIniFile.Create(ExtractFileDir(Dir)+'\Options.ini');
Spinedit2.Value:=IniFile.ReadInteger('Zvuki', 'Utro_2', 0);
Inifile.Free;

Так вот при OnButtonClick все пашет нормально, а при OnActivate выскакивает ошибка! ПОЧЕМУ? Что исправить?


Loginov Dmitry   (2006-12-09 14:01:00) [1]

> Да ну?


Ну да! Откуда нули - искать значительно проще.


Anatoly Podgoretsky   (2006-12-09 13:16:00) [2]

> Loginov Dmitry  (09.12.2006 8:57:26)  [26]

> в таком случае быстро бы все выяснилось

Да ну?
Потом будет долго искать где обнулено.
Не надо глобальности для подобной вещи.


Loginov Dmitry   (2006-12-09 08:57:00) [3]

> вызывает событие OnChangeSpinedit в котором у меня сохраняются
> данные INIFILE.WRITEINTEGER


И чаго, ошибка только в этом? Интересный подход - объявляешь переменную как глобальную, и дальше то и дело создаешь и дестроишь объект. Тогда уж дестрой хотябы с помощью FreeAndNil() (в таком случае быстро бы все выяснилось).


Германн   (2006-12-09 01:48:00) [4]


> MsGuns ©   (09.12.06 01:38) [24]
>
> Тихо сам с собою я веду беседу...
>

Ну да, тихо. Уже 4 часа спать не даёт почтенным людям! :-)


MsGuns   (2006-12-09 01:38:00) [5]

Тихо сам с собою я веду беседу...


Германн   (2006-12-09 01:03:00) [6]


> вызывает событие OnChangeSpinedit в котором у меня сохраняются
> данные INIFILE.WRITEINTEGER....

Имхо, неудачное решение. Я предпочитаю для сохранения пользоваться событем OnExit.


serko   (2006-12-09 00:57:00) [7]

Кароче разобрался я пацыки уже...

Оказывается прогон мой был в том что строка
Spinedit2.Value:=IniFile.ReadInteger('Zvuki', 'Utro_2', 0);
вызывает событие OnChangeSpinedit в котором у меня сохраняются данные INIFILE.WRITEINTEGER....
Вот и усе... ХУХ


Германн   (2006-12-09 00:52:00) [8]


> serko ©   (09.12.06 00:34) [20]

Может покажешь весь код в OnActivate?
И кстати, чей этот OnActivate?


serko   (2006-12-09 00:34:00) [9]

я на форму кинул PageControl на нем уже на разных страницах накидаж checkbox и spinedit. Все....
потом при изменении значения они сразу же сохраняются в INI, ну и вот хочу чтобы при активизации формы считывались данные с INI.
Я уже взял удалил этот Spinedit и кинул новый... Пару раз работало... А теперь снова таже беда....
Что от этого может меняться?


ProgRAMmer Dimonych   (2006-12-08 23:40:00) [10]

> Anatoly Podgoretsky ©   (08.12.06 23:37) [18]
ОК, рассуждаем логически в таком случае...

Т.к. нет цифр FFFFFFFF и 00000000, то делаем вывод, что создание//удаление объектов выполнено нормально. При любом глюке ReadInteger выдаёт третий параметр, т.е. 0. Значит AV возникает из-за SpinEdit1.Value. Почему? Случайно не в секретной ли части проблема?


Anatoly Podgoretsky   (2006-12-08 23:37:00) [11]

> ProgRAMmer Dimonych  (08.12.2006 23:25:17)  [17]

А толку, скажем объявление в одном месте, инициализация в другом.
Кидать надо значимую информацию, объявление, создание и значимую часть кода. Значимая часть кода приведена, а остальное большой, большой секрет, конечно от нас.


ProgRAMmer Dimonych   (2006-12-08 23:25:00) [12]

> serko ©   (08.12.06 23:11) [14]
Швырни сюда всю процедуру, на всякий случай...


Anatoly Podgoretsky   (2006-12-08 23:25:00) [13]

> serko  (08.12.2006 23:11:14)  [14]

Что и где этот Spinedit остается загадкой


Palladin   (2006-12-08 23:17:00) [14]

ну как же портфеля нет у меня в руках? если мне нужно положить в него учебники? вчера ведь был... правда меня мама в школу собирала... Может есть другой ВАРИАНТ?


serko   (2006-12-08 23:11:00) [15]


> > serko  (08.12.2006 23:04:12)  [12]

Ну как же удалена или мусор если мне в этот Spinedit из INI нужно загрузить сохраненное ранее значение? Все там есть... Но вот при загрузке такая ошибка...
Может есть другой ВАРИАНТ?


Anatoly Podgoretsky   (2006-12-08 23:06:00) [16]

> serko  (08.12.2006 23:04:12)  [12]

Вот теперь более понятно, видимо Spinedit2 имеет неверное значение, может быть удалена или вообще просто мусор.


serko   (2006-12-08 23:04:00) [17]


> Как объявлена переменная Spinedit2?

SpinEdit1: TSpinEdit;


> Это не полный текст сообщения об ошибке

Raised exception class EAccessViolation with message 'Access violation at address 00AB34FB. Write of address 0052364C'


Anatoly Podgoretsky   (2006-12-08 22:40:00) [18]

> Loginov Dmitry  (08.12.2006 22:37:10)  [10]

Допрос продолжается.


Loginov Dmitry   (2006-12-08 22:37:00) [19]

Как объявлена переменная Spinedit2?


Anatoly Podgoretsky   (2006-12-08 22:31:00) [20]

> serko  (08.12.2006 22:09:03)  [3]

Это не полный текст сообщения об ошибке


Страницы:   1 2

Наверх

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