Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2012, 13:37   #1
Khayzenberg
Пользователь
 
Регистрация: 21.07.2011
Сообщений: 54
Вопрос Ошибка чтения памяти

Доброго времи суток! Я работаю с выдилением памяти и вот следующая функция которая этим занимается.
Сущетсвует 11 элементов в котрых храниться соответствующая информация. В функцию передаем параметр который и будет указывать сколько выделять памяти и под какой елемент(первый case). Вторая выборка возвращает указатель(type ANBDElement=pointer) на елемент который хранится в памяти. При выполнении возникает исключительная ситуация которая говорит что произошла ошибка чтения памяти. Подскажите плиз в чем проблема, или что я неправильно написал. И кстати при пошаговой копмиляции эта ошибка возникает на последнем end; Ниже листинг самой функции:

Код:
function NewElement(const KeyElement:ANBDKeyElement):ANBDElement;
var elDisIndexes:pANBDDisIndexes;
    elHeading:pANBDHeading;
    elUser:pANBDUser;
    elConnecting:pANBDConnecting;
    elTable:pANBDTable;
    elField:pANBDField;
    elCellOfString:pANBDCellOfString;
    elCellOfCardinal:pANBDCellOfCardinal;
    elCellOfFloat:pANBDCellOfFloat;
    elCellOfDateTime:pANBDCellOfDateTime;
    elCellOfBoolean:pANBDCellOfBoolean;
begin
 elDisIndexes:=nil; elHeading:=nil; elUser:=nil; elConnecting:=nil; elTable:=nil; elField:=nil;
 elCellOfString:=nil; elCellOfCardinal:=nil; elCellOfFloat:=nil; elCellOfDateTime:=nil; elCellOfBoolean:=nil;
 result:=nil;
 //Робимо вибірку
 case KeyElement of
  keDisIndexes: New(elDisIndexes);
  keHeading: New(elHeading);
  keUser: New(elUser);
  keConnecting: New(elConnecting);
  keTable: New(elTable);
  keField: New(elField);
  keCellOfString: New(elCellOfString);
  keCellOfCardinal: New(elCellOfCardinal);
  keCellOfFloat: New(elCellOfFloat);
  keCellOfDateTime: New(elCellOfDateTime);
  keCellOfBoolean: New(elCellOfBoolean);
 end;
 case KeyElement of
  keDisIndexes: result:=elDisIndexes;
  keHeading: result:=elHeading;
  keUser: result:=elUser;
  keConnecting: result:=elConnecting;
  keTable: result:=elTable;
  keField: result:=elField;
  keCellOfString: result:=elCellOfString;
  keCellOfCardinal: result:=elCellOfCardinal;
  keCellOfFloat: result:=elCellOfFloat;
  keCellOfDateTime: result:=elCellOfDateTime;
  keCellOfBoolean: result:=elCellOfBoolean;
 end;
end;
Khayzenberg вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Closehandle (thread)-ошибка чтения памяти. googl Win Api 8 02.04.2012 09:43
Ошибка чтения памяти при посылки дублирующей команды Close Вспомогательной Форме (Form2) deryt Общие вопросы Delphi 4 09.01.2012 22:14
Ошибка 100: Ошибка чтения с диска. vodilawofer Помощь студентам 5 28.12.2011 22:49
Попытка чтения защищенной памяти Cannibal Общие вопросы C/C++ 1 06.11.2011 15:16
Ошибка чтения из памяти Шульц Общие вопросы Delphi 20 03.11.2009 12:26