Вниз
Скачать: CL | DM;

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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.022 c
1-8447
SoftFM
2003-10-21 20:23
2003.11.03
Поиск файлов


4-8715
Yuraz
2003-08-29 15:06
2003.11.03
поделитесь примером формы на чистом API, для D5-D7?


1-8481
Evgeny
2003-10-24 07:10
2003.11.03
вызов PopupMenu


1-8367
UPR
2003-10-23 02:16
2003.11.03
Об интерфейсе


3-8307
Alex-kosmonavt
2003-10-13 14:32
2003.11.03
не могу выполнить запрос




   Наверх