Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.11.06;
Скачать: CL | DM;

Вниз

Дин массивы   Найти похожие ветки 

 
RzCoDer ©   (2005-10-15 13:44) [0]

Такая вот проблема, есть код:


if length(gui.Windows) >= 0 then begin
for f := 0 to length(gui.Windows) do begin
 if length(gui.Windows[f].buttons) >= 0 then begin
 for i := 0 to length(gui.Windows[f].Buttons) do begin


Где GUI пакет рекорд:

TRGUI = packed record                    
Windows      : array of TRWindow;
Visible     : boolean;            
end;

TRWindow соответсвенно тоже. Ошибка AV возникает при попытке обращения к gui.Windows[f], хотя всё вроде задано, в чём может быть проблема?

P.S. TRWindow также имеет дин массивы, но они тож заданы.


 
TUser ©   (2005-10-15 13:49) [1]


> if length(gui.Windows) >= 0 then begin
> for f := 0 to length(gui.Windows) do begin
>  if length(gui.Windows[f].buttons) >= 0 then begin
>  for i := 0 to length(gui.Windows[f].Buttons) do begin

Замени на
for f := 0 to length(gui.Windows) -1 do begin
for i := 0 to length(gui.Windows[f].Buttons) - 1 do begin


Дело в том, что массив длины length(A) включает в себя элементы с индексами low(A) = 0, 1, ..., high(A) = length(A)-1.


 
RzCoDer ©   (2005-10-15 14:05) [2]

TUser, хе, единица была, забыл её тут впечатать,
Ну в принципе разобрался, на самом деле намудил с заданием размера массивов :( а парился ведь 3 час...



Страницы: 1 вся ветка

Текущий архив: 2005.11.06;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.036 c
10-1106918721
vano_
2005-01-28 16:25
2005.11.06
Задание номера порта для CORBA-сервера


3-1127467916
vigo
2005-09-23 13:31
2005.11.06
Ошибка инициализации Borland DataBase Engine


3-1127464012
Жбан
2005-09-23 12:26
2005.11.06
Удаление отфильтрованных записей в TADOTable


6-1122384608
Almaz
2005-07-26 17:30
2005.11.06
Синхронизация доступа к сокету


2-1129009737
Серг73
2005-10-11 09:48
2005.11.06
Помогите плз... Delphi7>ADO>Access