Вверх ↑
Ответов: 964
Рейтинг: 12
#1: 2021-07-23 13:42:09 ЛС | профиль | цитата
Привет из "творческой нирваны".
Хаб вчера успешно победил.
(Правда чуть "отверточным способом" без полного разбора полетов в секции Sub)


Несколько раз посыпал голову пеплом нашел несколько забытых багов (профиксил).
Коплю вопросы к знатокам.

Всем привет.
Зы
Кому интересно вот код

//Обработка секции SUB
For I:=0 to ElementList.Count-1 do
begin
ET:=TSElement(ElementList.Objects[i]);
ID:=ElementList[i];
N:=ET.Name;
if ET.TypeSUB<>'' Then
begin
// Временно спец обработка для 'Hub'
if ET.Name='Hub' Then begin

//Исходящие точки
if ET.LinkList.Count>0 then
For J:=0 to ET.LinkList.count-1 do
begin

New(C);

C^.Name:='onEvent'+IntToStr(J+1);
C^.VName:='';
C^.Rem:='';
C^.Option:='';
C^.PointType:=ptOn;
Et.PointList.Add(C);
end;

K:=IndexOfParamItem('InCount',ET.ParamList);
If K<>-1 then begin
K:= StrToInt(PSParam(ET.ParamList[K])^.Data);

//Входящие точки
For J:=0 to k do begin
New(C);
C^.Name:='doEvent'+IntToStr(J+1);
C^.VName:='';
C^.Rem:='';
C^.Option:='';
C^.PointType:=ptDo;
Et.PointList.Add(C);
end;

end else

For k:=0 to ElementList.count-1 do
begin
CE:=TSElement(ElementList.Objects[k]);

if CE.LinkList.Count>0 then
For J:=0 to CE.LinkList.count-1 do begin
L:=PSLink( CE.LinkList[J]);

If L^.Id = ID then
begin
New(C);

///Writeln(L^.PointTO);

C^.Name:=L^.PointTO;
C^.VName:='';
C^.Rem:='';
C^.Option:='';
C^.PointType:=ptDo;
Et.PointList.Add(C);
end;

end;

end;;

end;

end // 'Hub'

end;


карма: 0

0
Редактировалось 4 раз(а), последний 2021-07-26 14:06:09