powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Структуры
14 сообщений из 14, страница 1 из 1
Структуры
    #33981495
вопрозь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Объявляю так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
#define hex   1 ;
#define ascii   2 ;
#define bcd   3 ;

typedef struct  {
       int Block;
       int StartByte;
       int EndByte;
} BLOCKMAP;

typedef struct  {
       AnsiString Name;
       int        Sector;
       BLOCKMAP   Block[];
       int        KeySet;
       int        Code;
} Variable;
Работаю с ней вот так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Var[ 0 ].Name = "LasName";
Var[ 0 ].Sector =  13 ;
Var[ 0 ].Block[ 0 ].Block =  0 ;
Var[ 0 ].Block[ 0 ].StartByte =  1 ;
Var[ 0 ].Block[ 0 ].EndByte =  15 ;
Var[ 0 ].Block[ 1 ].Block =  1 ;
Var[ 0 ].Block[ 1 ].StartByte =  0 ;
Var[ 0 ].Block[ 1 ].EndByte =  15 ;
Var[ 0 ].Block[ 2 ].Block =  2 ;
Var[ 0 ].Block[ 2 ].StartByte =  0 ;
Var[ 0 ].Block[ 2 ].EndByte =  1 ;
Var[ 0 ].KeySet =  1 ;
Var[ 0 ].Code = hex;
/*2*/
Var[ 1 ].Name = "FirstName";
Var[ 1 ].Sector =  14 ;
Var[ 1 ].Block[ 0 ].Block =  0 ;
Var[ 1 ].Block[ 0 ].StartByte =  1 ;
Var[ 1 ].Block[ 0 ].EndByte =  15 ;
Var[ 1 ].Block[ 1 ].Block =  1 ;
Var[ 1 ].Block[ 1 ].StartByte =  0 ;
Var[ 1 ].Block[ 1 ].EndByte =  15 ;
Var[ 1 ].Block[ 2 ].Block =  2 ;
Var[ 1 ].Block[ 2 ].StartByte =  0 ;
Var[ 1 ].Block[ 2 ].EndByte =  14 ;
Var[ 1 ].KeySet =  1 ;
Var[ 1 ].Code = hex;
А потом ругань, брань, и в итоге Exception
Си только начал изучать
...
Рейтинг: 0 / 0
Структуры
    #33981505
вопрозь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кратко об Exception:
EAccessViolation в модуле "rtl60.bpl"
...
Рейтинг: 0 / 0
Структуры
    #33981520
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Структуры
    #33981527
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
память мистер Андерсон конечно же заблаговременно выделил.
...
Рейтинг: 0 / 0
Структуры
    #33981564
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maXmoпамять мистер Андерсон конечно же заблаговременно выделил.

Интересная мысль. Мне и в голову не пришло, что здесь может быть что-то кроме Variable var[2]. Судя по описанию проблемы,ошибка скрывается в коде, который находится дальше и который не приведен.
...
Рейтинг: 0 / 0
Структуры
    #33981576
ZeusTheTrueGod
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blockmap [];
:)


Можно бы ещё поглумиться, но поскольку человек явно программирует на Билдере, там есть специальная такая опция. Толи Code safe, то ли ещё какой то Сode, то ли safe. как только его включить, сразу же определяют все проблемы с памятью, неправильные указатели,выход за диапазон массива, ну и так далее.Сильно помогает.
...
Рейтинг: 0 / 0
Структуры
    #33981592
вопрозь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, забыл подписать
Код: plaintext
Variable Var[ 2 ];
Кода больше нет.
Вторую часть кода я поместил в обработчик собития CreateForm и после "Вылета" Exception выделяется строка
Код: plaintext
Var[ 1 ].Name = "FirstName";
...
Рейтинг: 0 / 0
Структуры
    #33981595
вопрозь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ZeusTheTrueGodBlockmap [];
:)


Можно бы ещё поглумиться, но поскольку человек явно программирует на Билдере, там есть специальная такая опция. Толи Code safe, то ли ещё какой то Сode, то ли safe. как только его включить, сразу же определяют все проблемы с памятью, неправильные указатели,выход за диапазон массива, ну и так далее.Сильно помогает.
А где эта опция находится?
...
Рейтинг: 0 / 0
Структуры
    #33981650
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Var[ 1 ].Name = "FirstName";
странно... я на его месте валился бы на третьей строчке.
...
Рейтинг: 0 / 0
Структуры
    #33981652
Akh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрозьДа, забыл подписать
Код: plaintext
Variable Var[ 2 ];
Кода больше нет.
Вторую часть кода я поместил в обработчик собития CreateForm и после "Вылета" Exception выделяется строка
Код: plaintext
Var[ 1 ].Name = "FirstName";


Когда ты написал вопрос, посмотри с точки зрения человека, который будет его читать. Если ты не умеешь правельно дать исходные данные, тогда будь аккуратнее, когда задаешь вопрос.
...
Рейтинг: 0 / 0
Структуры
    #33981661
вопрозь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maXmo
Код: plaintext
Var[ 1 ].Name = "FirstName";
странно... я на его месте валился бы на третьей строчке.
НУ слава богу ты не компилятор. Но Си я плохо понимаю. Что там не так? Подскажи про что хоть прочитать
...
Рейтинг: 0 / 0
Структуры
    #33981672
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сама Var у тебя где сидит?
...
Рейтинг: 0 / 0
Структуры
    #33981687
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вопрозьЧто там не так?ну если в билдере сделали массивы переменной длины, то всё должно быть пучком. Попробуй так:
Код: plaintext
1.
2.
3.
4.
5.
6.
typedef struct  {
       AnsiString Name;
       int        Sector;
       BLOCKMAP   Block[ 3 ];
       int        KeySet;
       int        Code;
} Variable;
...
Рейтинг: 0 / 0
Структуры
    #33981708
вопрозь
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maXmo вопрозьЧто там не так?ну если в билдере сделали массивы переменной длины, то всё должно быть пучком. Попробуй так:
Код: plaintext
1.
2.
3.
4.
5.
6.
typedef struct  {
       AnsiString Name;
       int        Sector;
       BLOCKMAP   Block[ 3 ];
       int        KeySet;
       int        Code;
} Variable;

Да, точно, этож не динамические массивы! Мне пора спать...))) Спасибо.
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Структуры
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]