Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизОшибка в процедуре Найти похожие ветки
← →
K.A.T. © (2004-03-22 14:28) [0]Уважаемые мастера помогите пожалуйста.
При выполнении этой процедурыprocedure AddNode(Code,Cont:integer;Sum:real);//procedura dobavlenija v spisok
var Node,Pre,InCurr:PBank;
begin
Pre:=nil;
New(Node);// novij uzel
Node^.Code:=Code;
Node^.Cont:=Cont;
Node^.Sum:=Sum;
Node^.Next:=nil;
InCurr:=Head;
? while (InCurr<>nil) or (Node^.Code > InCurr^.Code) do //???????
begin // vistavlajem ukazateli na nuznije pozicii
Pre:=InCurr;
InCurr:=InCurr^.Next;
end;
if Pre = nil then begin //
Node^.Next:=Head;
Head:=Node
end
else begin //
Node^.Next:=InCurr;
Pre^.Next:=Node;
end;
Curr:=Node;//globalnaja peremennaja
end;
при входе в цикл while происходит ошибка такого типа
"Access violation at address 00451940 in module "Project1.exe". Read of address 00000000" . Не пойму в чем причина.
← →
Тимохов © (2004-03-22 14:33) [1]не вник до конца в суть, но как минимум я бы написал
> while (InCurr<>nil) AND (Node^.Code > InCurr^.Code) do //???????
>
← →
asafr (2004-03-22 14:38) [2]InCurr^.Code - не существует
← →
K.A.T. © (2004-03-22 14:41) [3]В коде нет "?" , это я просто место на котором ошибка происходит, попытался в листинге отметить, но видно неудачно.
← →
K.A.T. © (2004-03-22 14:44) [4]asafr (22.03.04 14:38) [2]
InCurr^.Code - не существует
================================================
Да, но ведь сначала идет проверка (Curr<>nil), а она дает ложь и входа в цикл не должно быть.
← →
Тимохов © (2004-03-22 14:45) [5]
> ложь и входа в цикл не должно быть.
Да? Вы уверены? :))))
см 1
← →
K.A.T. © (2004-03-22 14:48) [6]Спасибо, вразумили.
Теперь вижу где собака порылась
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.038 c