Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Вниз

Как вызвать системную ошибку. 


Andrewv   (2001-12-18 14:14) [0]

Можно ли из собственной программы вызвать системную ошибку
"Программа выполнила недопустимую операцию"?



Андрей Сенченко   (2001-12-18 14:25) [1]


var
i : integer
begin
i := i/0
end.

или нужен генератор ошибок по выбору ?



Dimka Maslov   (2001-12-18 17:26) [2]

ExceptObjProc:=nil;
PInteger(nil)^:=0;



Pat   (2001-12-18 17:45) [3]

>Андрей Сенченко
А сам проверял?



panov   (2001-12-18 17:56) [4]

var
s : String;
p: Pointer;
begin
s := "Exception";
p := nil;
Move(s,p,9);



Дремучий   (2001-12-18 21:59) [5]

var Obj:TLabel;//любой компонентный тип
//нигде не вызывается конструктор Obj!
begin
//обращение к несозданому объекту
Obj.Caption := "Exception! Ha-ha dva raza!";
end;




Алексей Петров   (2001-12-19 08:46) [6]

Человек просил недопустимую операцию - а вы ему access violation хором предлагаете :)

Priveleged instruction:

asm
hlt
end;


А это чисто недопустимая операция

asm
lock nop
end




Digitman   (2001-12-19 08:55) [7]

Абсолютно согласен с <Алексей Петров>



Bizon   (2001-12-19 10:05) [8]

Попробывал последний вариант.
Ошибка External Exception и в 98 и в 2к
Вот так.



Алексей Петров   (2001-12-19 10:20) [9]

External Exception - Это Delphi-йская обертка над всеми неведомыми для Delphi исключениями.
А код соответствует, как раз, процессорному исключению "неверный код операции".



Bizon   (2001-12-19 10:26) [10]

Замечательно, но эта обработка высвечивается в сообщении, а как сделать чтобы было четко написано: Программа выполнила......
Как в wind`е обычно.



Dimka Maslov   (2001-12-19 10:36) [11]

В Delphi определён адрес обработчика исключений ExceptObjProc, если он определён, то при возникновении системной ошибки возникнет исключение. В противном случае - "программа выполнила недопустимую операцию"



Bizon   (2001-12-19 10:41) [12]

Ок. Получилось.



handra   (2001-12-19 14:34) [13]

Нифига:
ExceptObjProc:=nil;
asm lock nop end;

Результат:
Исключение unknown software exception и т.д.
Затем следующее:
Runtime error 255 at ....



Big_Hart   (2001-12-19 14:53) [14]

asm
cli
end
Repeat
until false




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.08;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.027 c
3-21914           Axel                  2001-12-03 18:05  2002.01.08  
Вопрос по MIDAS.


14-22354          Nemesis               2001-10-08 13:02  2002.01.08  
Мобила


1-22033           voronkov              2001-12-18 12:27  2002.01.08  
Как заставить TEdit не генерить звуковой сигнал при включенном обработчике нажатий клавиш.


6-22289           Kirill                2001-10-03 18:33  2002.01.08  
Контекстное меню у IE


3-21994           Vs                    2001-12-06 16:23  2002.01.08  
Dynamic Array