Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / выделение памяти для TADODataSet в BCB6 / 7 сообщений из 7, страница 1 из 1
30.10.2004, 07:10
    #32761962
Philin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение памяти для TADODataSet в BCB6
пишу код
Код: plaintext
TADODataSet* data = new TADODataSet(NULL);
использую CodeGuard, который ругается га эту строку:
Код: plaintext
Attempt to access  608  bytes at <адрес> The 'this' pointer points to heap block <тот же адрес> which is only  604  bytes long.
У меня в приложении какие-то непонятные проблемы. Стоит ли обращать внимание на данное выражение?
...
Рейтинг: 0 / 0
01.11.2004, 07:10
    #32762492
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение памяти для TADODataSet в BCB6
Philinпишу код
Код: plaintext
TADODataSet* data = new TADODataSet(NULL);
использую CodeGuard, который ругается га эту строку:
Код: plaintext
Attempt to access  608  bytes at <адрес> The 'this' pointer points to heap block <тот же адрес> which is only  604  bytes long.
У меня в приложении какие-то непонятные проблемы. Стоит ли обращать внимание на данное выражение?
Обязательно. Если рассмотреть это сообщение, то что мы видим: попытка выделить 608 байт, в то время как this указывает на блок размером 604 байта.
Это чревато непредсказуемыми последствиями, как то повреждение данных (может быть даже и не твоей программы, а совсем другой), непредсказуемое поведение программы и т.д.
Примерно так же, как это было в DOS-овском С при работе с массивами через указатели: пока работаешь в границах массива - все нормально, но в какой-то момент выйдешь за границы массива и начинается "веселая жизнь". Хорошо еще, если никакие данные в памяти не попортишь...
...
Рейтинг: 0 / 0
01.11.2004, 07:37
    #32762498
Philin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение памяти для TADODataSet в BCB6
дело вот еще в чем:
создаю пустой проект,
пишу TADODataSet* data = new TADODataSet(NULL);
и CodeGuard все равно ругается на эту строку.
И что же делать? В программе кроме этого кода ничего нету - значит выход за границы памяти где-то в исходниках TADODataSet...
...
Рейтинг: 0 / 0
01.11.2004, 07:47
    #32762502
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение памяти для TADODataSet в BCB6
Philinдело вот еще в чем:
создаю пустой проект,
пишу TADODataSet* data = new TADODataSet(NULL);
и CodeGuard все равно ругается на эту строку.
И что же делать? В программе кроме этого кода ничего нету - значит выход за границы памяти где-то в исходниках TADODataSet...
Может прописать без NULL,т.е.:
TADODataSet* data = new TADODataSet;
...
Рейтинг: 0 / 0
01.11.2004, 08:05
    #32762517
Philin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение памяти для TADODataSet в BCB6
Может прописать без NULL,т.е.:
TADODataSet* data = new TADODataSet;

имеем
Код: plaintext
[C++ Error] Unit1.cpp( 20 ): E2285 Could not find a match for 'TADODataSet::TADODataSet()'
То есть, без параметра не обойтись...
...
Рейтинг: 0 / 0
01.11.2004, 08:40
    #32762528
Станислав C.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение памяти для TADODataSet в BCB6
Philin... без параметра не обойтись...
Согласен, глупость сморозил.

Кстати, попробовал сделать то же самое на BCB 5.0. Проблема та же....
Я тут немного поанализировал... :) С чем может быть связана эта проблема? Мне кажется, что этот компонент должен прописываться при описании формы ( в файле Unit1.h), потому что все визуальные компоненты (TADOQuery, TADOConnection и т.д.) прописываются там... А то сообщение, которое ты получаешь, возможно, говорит о том, что, поскольку этот компонент не был описан заранее, то и выделенной приложению памяти для него не хватает...
...
Рейтинг: 0 / 0
01.11.2004, 15:50
    #32763464
JibSkeart
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
выделение памяти для TADODataSet в BCB6
Хмм , странно как то :)


 ш
(';')
(V),(V),,
Код: plaintext
 JS 
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / выделение памяти для TADODataSet в BCB6 / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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