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

Вниз

Почему?   Найти похожие ветки 

 
serko ©   (2006-12-08 21:46) [0]

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

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

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

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


 
Palladin ©   (2006-12-08 21:47) [1]

Тут у меня друг говорит, но я с ним не согласен, ПОЧЕМУ ОН ТАК ГОВОРИТ? Что исправить?


 
Anatoly Podgoretsky ©   (2006-12-08 21:49) [2]

> serko  (08.12.2006 21:46:00)  [0]

Секретная ошибка - секретный ответ


 
serko ©   (2006-12-08 22:09) [3]

....Raised exception class EAccessViolation with message ....


 
Loginov Dmitry ©   (2006-12-08 22:12) [4]

В [0] рабочий код. Ошибка в другом месте.


 
Loginov Dmitry ©   (2006-12-08 22:13) [5]

Что есть Dir и где оно инициализируется?


 
serko ©   (2006-12-08 22:22) [6]

Dir:=ParamStr(0) - OnCreate на главной форме!


> В [0] рабочий код. Ошибка в другом месте.

Если я убираю строку где Spinedit присваивается значение то все работает...


 
Desdechado ©   (2006-12-08 22:23) [7]

если его придавить, может еще чего скажет


 
Anatoly Podgoretsky ©   (2006-12-08 22:31) [8]

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

Неверный указатель, что то не создано или наоборот уже уничтожено.


 
Anatoly Podgoretsky ©   (2006-12-08 22:31) [9]

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

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


 
Loginov Dmitry ©   (2006-12-08 22:37) [10]

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


 
Anatoly Podgoretsky ©   (2006-12-08 22:40) [11]

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

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


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


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

SpinEdit1: TSpinEdit;


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

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


 
Anatoly Podgoretsky ©   (2006-12-08 23:06) [13]

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

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


 
serko ©   (2006-12-08 23:11) [14]


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

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


 
Palladin ©   (2006-12-08 23:17) [15]

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


 
Anatoly Podgoretsky ©   (2006-12-08 23:25) [16]

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

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


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

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


 
Anatoly Podgoretsky ©   (2006-12-08 23:37) [18]

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

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


 
ProgRAMmer Dimonych ©   (2006-12-08 23:40) [19]

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

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


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

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


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


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

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


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

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

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


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


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

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


 
MsGuns ©   (2006-12-09 01:38) [24]

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


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


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

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


 
Loginov Dmitry ©   (2006-12-09 08:57) [26]

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


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


 
Anatoly Podgoretsky ©   (2006-12-09 13:16) [27]

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

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

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


 
Loginov Dmitry ©   (2006-12-09 14:01) [28]

> Да ну?


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



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

Текущий архив: 2006.12.31;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.03 c
15-1165550465
Slider007
2006-12-08 07:01
2006.12.31
С днем рождения ! 8 декабря


11-1142941853
glesik
2006-03-21 14:50
2006.12.31
Звук при нажатии Enter или Esc


2-1165948805
GEN++
2006-12-12 21:40
2006.12.31
NMStrmServ


1-1163315458
Axis_of_Evil
2006-11-12 10:10
2006.12.31
TListBox с ручной отрисовкой


15-1165556140
IMHO
2006-12-08 08:35
2006.12.31
How Vista Lets Microsoft Lock Users In