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

Вопрос по try ... except   Найти похожие ветки 

 
Destroyer ©   (2005-07-31 20:45) [0]

Не получается присвоить значение переменной в конструкции try ... except :
var val: boolean;
begin
try
...
except
val:= false; // тут вылетает ошибка access violation
end;
end;
Почему так? Как правильно присвоить значение?


 
Гаврила ©   (2005-07-31 20:47) [1]

Почему ты решил, что не присваивается?


 
Anatoly Podgoretsky ©   (2005-07-31 20:51) [2]

Не полный код


 
Destroyer ©   (2005-07-31 20:58) [3]

Ок, вот полный:
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:59) [4]

О еше новые неопределенные переменные появились


 
Destroyer ©   (2005-07-31 21:03) [5]

Извиняюсь.
checkingreg: boolean;
ilong      :integer;
nbOnPan    :integer;


 
Palladin ©   (2005-07-31 21:14) [6]

Либо убери галку в Tools\Debugger Options\Language Exceptions\Stop on Delphi Exceptions
Либо исключение возникает в другом месте


 
Anatoly Podgoretsky ©   (2005-07-31 22:12) [7]

Когда же тя приведешь более полный код с заголовком обгрызок чего ты нам представляешь, с местами определения функций.

Palladin ©   (31.07.05 21:14) [6]
Возможно жто огрызок объекта


 
Amido   (2005-08-02 13:59) [8]

А ни тут ли случайно ошибка?

Form1.spSkinMessage1.MessageDlg("xxx",mtInformation,[mbOk]{mbOKCancel},1);


 
Defunct ©   (2005-08-02 15:53) [9]

Destroyer ©   (31.07.05 20:58) [3]

Ужас а не код ;>
Тут не к доктору, тут в морг.

> call eax  
этим вы вероятно убиваете стек к чертям, после чего поведение отладчика будет непредсказуемым.



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

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



Память: 0.46 MB
Время: 0.026 c
3-1121256077
CasperR
2005-07-13 16:01
2005.08.21
Интерфейсы ADO


4-1119527962
Grief
2005-06-23 15:59
2005.08.21
почему нет WM_CloseQuery?


3-1121234219
leonidus
2005-07-13 09:56
2005.08.21
ADO с провайдером Microsoft.Jet.OLEDB.4.0 не хочет делать INSERT


11-1105680010
DmiSb
2005-01-14 08:20
2005.08.21
Проверить содержимое каталога


14-1122815252
ROCKER***
2005-07-31 17:07
2005.08.21
Ламоразмы




   Наверх