Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Access violation

5.8K
28 сентября 2005 года
ivan1985
42 / / 29.06.2005
после строчки:
Form3->RadioGroup1->ItemIndex=0;
появляется сообщение:Access violation...
(у Radiogroup по событиям ничего не делается)
В чем прикол?
310
28 сентября 2005 года
fellow
853 / / 17.03.2003
Пошаговую отладку пробовал?
5.8K
28 сентября 2005 года
ivan1985
42 / / 29.06.2005
Цитата:
Originally posted by fellow
Пошаговую отладку пробовал?


Нет, сразу, как только у меня появляются ошибки, я, неоткладывая, пишу об этом на форуме. :)
Именно пошаговой отладкой и обнаружил, что при попытке присвоения значения ITEMINDEXу возникает ошибка.

299
28 сентября 2005 года
3D Bob
885 / / 18.04.2005
Цитата:
Originally posted by ivan1985
Нет, сразу, как только у меня появляются ошибки, я, неоткладывая, пишу об этом на форуме. :)
Именно пошаговой отладкой и обнаружил, что при попытке присвоения значения ITEMINDEXу возникает ошибка.


Form3 или RadioGroup1 хоть создан?
Или они обявлены только как

TForm * Form3;
TRadioGroup1 * RadioGroup1;

5.8K
29 сентября 2005 года
ivan1985
42 / / 29.06.2005
Цитата:
Originally posted by 3D Bob
Form3 или RadioGroup1 хоть создан?
Или они обявлены только как

TForm * Form3;
TRadioGroup1 * RadioGroup1;



Созданы,причем строчка:
regkey.WriteInteger("port",Form3->RadioGroup1->ItemIndex);
выполняется, т.е. читать итеминекс можно, а изменить не получается...

247
30 сентября 2005 года
wanja
1.2K / / 03.02.2003
Цитата:
Originally posted by ivan1985
Созданы,причем строчка:
regkey.WriteInteger("port",Form3->RadioGroup1->ItemIndex);
выполняется, т.е. читать итеминекс можно, а изменить не получается...


А сколько Item'ов в твоей Radiogroup?

5.8K
30 сентября 2005 года
ivan1985
42 / / 29.06.2005
Цитата:
Originally posted by wanja
А сколько Item'ов в твоей Radiogroup?



5

259
30 сентября 2005 года
AlexandrVSmirno
1.4K / / 03.12.2004
Цитата:
Originally posted by ivan1985
после строчки:
Form3->RadioGroup1->ItemIndex=0;
появляется сообщение:Access violation...
(у Radiogroup по событиям ничего не делается)
В чем прикол?


Похоже это глюк. Вот такой простой пример. Пашет на ура:

Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
  : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  RadioGroup1->ItemIndex = 0;  
}

ЗЫ: Скорее всего к моменту вызова Form3->RadioGroup1->ItemIndex=0; либо Form3, либо RadioGroup1 == NULL.
5.8K
30 сентября 2005 года
ivan1985
42 / / 29.06.2005
Цитата:
Originally posted by AlexandrVSmirno
Похоже это глюк. Вот такой простой пример. Пашет на ура:
Код:
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
  : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  RadioGroup1->ItemIndex = 0;  
}

ЗЫ: Скорее всего к моменту вызова Form3->RadioGroup1->ItemIndex=0; либо Form3, либо RadioGroup1 == NULL.



Когда radiogroup на оновной форме то и у меня пашет на ура, а когда на Form2(3,4,5...) - выскакивает ошибка...

299
01 октября 2005 года
3D Bob
885 / / 18.04.2005
Цитата:
Originally posted by ivan1985
Когда radiogroup на оновной форме то и у меня пашет на ура, а когда на Form2(3,4,5...) - выскакивает ошибка...


Покажи СВОЙ КОД.

5.8K
01 октября 2005 года
ivan1985
42 / / 29.06.2005
Цитата:
Originally posted by 3D Bob
Покажи СВОЙ КОД.



void __fastcall TForm1::FormCreate(TObject *Sender)
{
TRegistry& regkey = *new TRegistry;
if(regkey.OpenKey("Software\\portexch",false))
{

Form3->RadioGroup1->ItemIndex=(regkey.ReadInteger("protocol"));
Form3->RadioGroup2->ItemIndex=(regkey.ReadInteger("port"));
Form3->RadioGroup3->ItemIndex=(regkey.ReadInteger("baudrate"));
portchange();
}
delete &regkey;

...
}
Действительно, почему-то, как и говорил AlexandrVSmirno, Form3==NULL. Но почему, и что делать?

299
01 октября 2005 года
3D Bob
885 / / 18.04.2005
Цитата:
Originally posted by ivan1985
void __fastcall TForm1::FormCreate(TObject *Sender)
{
TRegistry& regkey = *new TRegistry;
if(regkey.OpenKey("Software\\portexch",false))
{

Form3->RadioGroup1->ItemIndex=(regkey.ReadInteger("protocol"));
Form3->RadioGroup2->ItemIndex=(regkey.ReadInteger("port"));
Form3->RadioGroup3->ItemIndex=(regkey.ReadInteger("baudrate"));
portchange();
}
delete &regkey;

...
}


Эт мы уже видели... Здесь ошибок нет. Покажи более глобальный код.
Или выложи свой проект.

310
01 октября 2005 года
fellow
853 / / 17.03.2003
Цитата:
Originally posted by ivan1985
Действительно, почему-то, как и говорил AlexandrVSmirno, Form3==NULL. Но почему, и что делать?


Form3 должна быть создана перед использованием. Где она создаётся? В конструкторе Form1? Если в другом месте, то её просто напросто нет в момент вызова TForm1::FormCreate, который вызывается сразу после конструктора. И не советую вообще использовать TForm1::FormCreate - не нужен он, достаточно одного конструктора.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог