Форум: "Основная";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
ВнизEAccessViolation Error!!! :( Найти похожие ветки
← →
antonioxxx (2003-10-21 16:27) [0]Здравствуйте господа знатоки! Помогите, пожалуйста, разобраться – почему при компиляции кода:
AssignFile(ComboFile,ODCF.FileName);
Reset(ComboFile);
While Not EOF(ComboFile) Do
Begin
Readln(ComboFile,s);
I:=1;
While S[I]<>":" Do
Begin
S_U[I]:=S[I];
I:=I+1;
End;
I_P:=I;
For I:=I_P+1 To Length(S) Do
S_P[I]:=S[I];
LB_U.Items.Add(S_U);
LB_P.Items.Add(S_P);
End;
CloseFile(ComboFile);
в строке « S_U[I]:=S[I]; » происходит критическая ситуация EAccessViolation?
Заранее благодарю!
← →
Sandman25 (2003-10-21 16:31) [1]Потому что длина S_U меньше, чем надо. Вызовите SetLength(S_U, Length(S)) или что-то подобное.
← →
Digitman (2003-10-21 16:32) [2]Именно при компиляции ? Не верю. Быть того не может !
← →
Sandman25 (2003-10-21 16:32) [3]Еще вариант ошибки - если в S нет ":"
← →
antonioxxx (2003-10-21 22:32) [4]>Digitman Я не совсем корректно выразился - безусловно при работе с уже откомпилированным проектом! Прошу прощения! :)
>Sandman25 Пробовал и, увы, не помогает - та же ошибка :(
← →
default (2003-10-21 23:17) [5]у тебя же строка "S" не безгранична
ставь условие While (S[I]<>":") or (S[i] <> #0) Do
← →
default (2003-10-21 23:20) [6]сорри...вот так попробуй While (S[I]<>":") and (S[i] <> #0) Do
и читай Sandman25 © (21.10.03 16:31) [1]
← →
icWasya (2003-10-22 09:30) [7]
...
Readln(ComboFile,s);
I:=Pos(":",S);
if I=0 then continue;
S_U:=Copy(S,1,I-1);
S_P:=Copy(S,I+1,MaxInt);
LB_U.Items.Add(S_U);
LB_P.Items.Add(S_P);
...
← →
antonioxxx (2003-10-22 19:14) [8]Спасибо всем большое за помощь!
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.11.03;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.01 c