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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.05.2011, 00:51   #1
Теркин
Новичок
Джуниор
 
Регистрация: 29.05.2011
Сообщений: 2
Счастье Проблема косвенной рекурсии

Товарищи программисты кто сможет объяснить почему не присваиваются данные динамических массивов объектов.Привожу сокращенный код

Код:
type  TRebro=class;
TYzel=class(TObject)
private
ListRebro:array of TRebro;{Массив инцидентных ребер вершины}
end;

TRebro=class(TObject)
private
ListYzel:array of TYzel;{Массив инцидентных вершин ребра}
end;

type TMatrizaInciden=Class(TObject)
private
MassivReber:array of TRebro;{массив ребер}
MassivYzlov:array of TYzel;{массив вершин}
public
procedure PerestanovkaStrok(Stroka1,Stroka2:Integer);
procedure PerestanovkaStolbov(Stolb1,Stolb2:Integer);
public
property Yzel[Stroka:Integer]:TYzel read ReadTYzel write WriteTYzel;
property Rebro[stolb:Integer]:TRebro read ReadTRebro write WriteTRebro;
end;

implementation
.....
{Данная процедура меняет местами два столбца матрицы, все работает,
также меняются местами массивы инцидентных вершин}
procedure TMatrizaInciden.PerestanovkaStolbov(Stolb1, Stolb2: Integer);
var Reb:TRebro;
begin
    
    reb:=Rebro[Stolb1];
    rebro[stolb1]:=rebro[stolb2];
    rebro[stolb2]:=reb;
end;
{Данная процедура массив инцидентных ребер местами не меняет, значения сохраняются прежними}
procedure TMatrizaInciden.PerestanovkaStrok(Stroka1, Stroka2: Integer);
Var Yz:TYzel;
begin
    
    yz:=Yzel[Stroka1];
    yzel[stroka1]:=yzel[stroka2];{в этом фрагменте присвоение массива инцидентных вершин не происходит, сохраняются прежние значения}
    yzel[stroka2]:=yz;{Аналогичная ситуация}
end;
в окне Watch выдает сообщение переменная Stroka1 недоступны из за оптимизации
yzel[stroka1]: Variable 'Stroka1' inaccessible here due to optimization
yzel[stroka2]: Variable 'Stroka1' inaccessible here due to optimization



___________
Код нужно оформлять по правилам:
тегом [CODE]..[/СODE] (это кнопочка с решёточкой #)
Не забывайте об этом!
Модератор.

Последний раз редактировалось Serge_Bliznykov; 31.05.2011 в 08:47.
Теркин вне форума Ответить с цитированием
Старый 31.05.2011, 13:47   #2
Теркин
Новичок
Джуниор
 
Регистрация: 29.05.2011
Сообщений: 2
По умолчанию

Не парьтесь "программисты" решение найдено
Теркин вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Задача по рекурсии Болванка Паскаль, Turbo Pascal, PascalABC.NET 1 21.12.2010 16:01
Визуализация рекурсии fs444 Общие вопросы C/C++ 5 04.04.2010 23:31
Рекурсии RAMA Паскаль, Turbo Pascal, PascalABC.NET 6 18.10.2009 13:56
Рекурсии в pascal Nogard Помощь студентам 1 22.06.2009 12:08
Рекурсии Logan Паскаль, Turbo Pascal, PascalABC.NET 1 13.05.2008 08:52