![]() |
Массив записей (проблема с доступом) [Delphi]
Вот собственно суть проблемы есть несколько типов:
Код:
//тип 1var qwerty: array [0..10] of PMyType3; //создали массив записей типа PMyType3 и далее где угодно в программе пытаемся поюзать qwerty[i].ExName:= 'текст_значения'; и так далее, но вот трабл, при таком обращении программка говорит Access violaton бла бла бла, в общем на сколько я понял, объект вроде как есть, но память под него не выделена, хотя он не динамичен, то есть размеры объявлены заранее... варианты решения проблемы? заранее спс... |
Нужно выделять память с помощью процедуры New, и освобождать с помощью Dispose.
То есть: Код:
var |
Chrome~
Неправильно подсказываешь! Память у него уже выделена. mr. ZetRikS проблема в том что ты создаешь массив из указателей на указатели. и пытаешься к нему обратится на прямую. вот так объяви массив Код:
qwerty: array [0..10] of TMyType3;ЗЫ Пользуйтесь отладчиками |
Да нет же, maestro-ant, это ты не умеешь правильно работать с динамической памятью.
Посмотри, как правильно должно быть реализовано в данном случае: Цитата:
|
Так и есть, вопрос исчерпан...
правд ещё косяк был, пришлось в типе 3 вместо PMyType2 использовать так же тип, а не указатель на него... Всегда так работал (за пять лет таких проблем не случалось), а тут подсказали мол лучше использовать указатели на тип... Для чего особо не понял, но вот собственно и парился пару дней, кстати с типом пробовал, но так как в типе 3 есть переменная ууказателя на тип, вот тут косяк и не увидел, только сейчас когда подсказали узрел... Спасибо что уделили время моей проблеме... поставил + обим... |
| Время: 01:51 |