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

Как бороться с AV   Найти похожие ветки 

 
TCrash ©   (2003-06-03 14:43) [0]

имеется TListView.при выполнении кода
procedure TForm3.ListAdminsClick(Sender: TObject);
var
p: PAdmin; //указатель но структуру
i:integer;
b:boolean;

procedure eav;
var i:integer;
begin
..................
end;
begin
b:=false;
try
p:=ListAdmins.Selected.Data;
except
on EAccessViolation do eav
end;
if b then exit;
.................
end;

выскакивет AccessViolation (если клик происходит мимо элемента списка). Я согласен, должна возникать ошибка, но ведь try..except вродебы и призван бороться с такими вещами.
Где я на грабли наступаю.


 
Palladin ©   (2003-06-03 14:49) [1]

из IDE наверно запускаешь, или AV возникает не тут...


 
clickmaker ©   (2003-06-03 14:49) [2]

А не проще ли проверить if (ListAdmins.Selected <> nil) ? Уж на такие неприкрытые грабли зачем наступать ? :)


 
DVM ©   (2003-06-03 14:50) [3]


> TCrash ©

не проще ли проверить выделен элемент или нет, чем городить try-except


 
Song ©   (2003-06-03 14:55) [4]

IF Assigned(Selected) then ...


 
TCrash ©   (2003-06-03 14:58) [5]

Всем спасибо, про проверку не догнал.

Наверное не доспал вчера :-)



Страницы: 1 вся ветка

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



Память: 0.45 MB
Время: 0.009 c
9-50196
Demo2
2002-12-29 11:21
2003.06.16
Fog of War


1-50398
EvgeniyR
2003-05-30 10:24
2003.06.16
Генератор случайных чисел


3-50238
Ann
2003-05-26 16:15
2003.06.16
ComboBox


1-50341
Maniacosaur
2003-05-29 10:11
2003.06.16
Делфи и 1с через OLE


14-50526
Belkova
2003-05-31 21:55
2003.06.16
MainMenu




   Наверх