![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по try ... except [D7, WinXP]
Destroyer © (2005-07-31 20:45:00)Не получается присвоить значение переменной в конструкции try ... except :
var val: boolean;
begin
try
...
except
val:= false; // тут вылетает ошибка access violation
end;
end;
Почему так? Как правильно присвоить значение?
Defunct (2005-08-02 15:53:00) [1]Destroyer © (31.07.05 20:58) [3]
Ужас а не код ;>
Тут не к доктору, тут в морг.
> call eax
этим вы вероятно убиваете стек к чертям, после чего поведение отладчика будет непредсказуемым.
Amido (2005-08-02 13:59:00) [2]А ни тут ли случайно ошибка?
Form1.spSkinMessage1.MessageDlg('xxx',mtInformation,[mbOk]{mbOKCancel},1);
Anatoly Podgoretsky (2005-07-31 22:12:00) [3]Когда же тя приведешь более полный код с заголовком обгрызок чего ты нам представляешь, с местами определения функций.
Palladin © (31.07.05 21:14) [6]
Возможно жто огрызок объекта
Palladin (2005-07-31 21:14:00) [4]Либо убери галку в Tools\Debugger Options\Language Exceptions\Stop on Delphi Exceptions
Либо исключение возникает в другом месте
Destroyer (2005-07-31 21:03:00) [5]Извиняюсь.
checkingreg: boolean;
ilong :integer;
nbOnPan :integer;
Anatoly Podgoretsky (2005-07-31 20:59:00) [6]О еше новые неопределенные переменные появились
Destroyer (2005-07-31 20:58:00) [7]Ок, вот полный:
try
checkingreg:=true;
asm
mov eax,ilong
call eax
end;
except
if nbOnPan=3 then
begin
Form1.spSkinMessage1.MessageDlg('xxx',mtInformation,[mbOk]{mbOKCancel},1);
checkingreg:=false; // здесь ошибка
exit; // и здесь тоже ошибка, но есть подозрение, что exit в except использовать нельзя
Но даже без exit ошибка в checkingreg:=false; Что тут не так?
Anatoly Podgoretsky (2005-07-31 20:51:00) [8]Не полный код
Гаврила (2005-07-31 20:47:00) [9]Почему ты решил, что не присваивается?