![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
EAcess violation at FFFFFFF7 при вызове процедурки - [D5]
greenrul © (2002-03-09 20:33:00)
type
TRec = record
url:string;
name, key: string;
end;
var Data:array[1..100] of TRec;
procedure TMainForm.DoBinded(str:string);
var i,i2,i3,i4,counter:integer;
s,s2:string;
kill: boolean;
begin
if length(str)<=0 then EXIT;
i3:=0;
counter:=1;
l[5]:=l[4];
l[4]:=l[3];
l[3]:=l[2];
l[2]:=l[1];
l[1]:=str;
repeat
s:=Data[counter].key;
s2:=s;
{
Anatoly Podgoretsky (2002-03-09 21:10:00) [1]Как минимум ощибка здесь copy(s2,0,i4-1) индекс доджен быть больще 0
Кроме того k[i3+1] индекс может оказаться более 5
Нигде не видно инициализации Data
Чему равно S
Очень плохое оформление теста, как правило принято называть переменные с большой буквы, поэтому в тесте трудно отличить l от 1, больше анализировать код нет желания, если бы не выходные то и на это бы не стал тратить время.
Код умирать на вызове DoBinded не может, он или умрет перед этим или отработает, кроме того надо не F8, а F7
greenrul (2002-03-09 20:45:00) [2]str:string;
l:array[1..5] of string;
k:array[1..5] of string;
Anatoly Podgoretsky (2002-03-09 20:42:00) [3]Объявления массивов где?