Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Programmabsturz verursachen (https://www.delphipraxis.net/194145-programmabsturz-verursachen.html)

omp 22. Okt 2017 13:56

Programmabsturz verursachen
 
Hallo. Vielleicht etwas ungewöhnlich.
Für einen Test benötige ich ein Anwendung, die abstürzt und in Windows die Meldung "Anwendung funktioniert nicht mehr" verursacht. Und wie es nunmal ist, wenn man den Fehler braucht, kriegt man ihn nicht hin.
Hat jemand einen Tipp, wie ich das verursachen kann.
Dank.

Wosi 22. Okt 2017 14:05

AW: Programmabsturz verursachen
 
Wirf eine Exception in einer Initialization-Section einer eingebundenen Unit. Das sollte ausreichen.

omp 22. Okt 2017 14:42

AW: Programmabsturz verursachen
 
Zitat:

Zitat von Wosi (Beitrag 1383873)
Wirf eine Exception in einer Initialization-Section einer eingebundenen Unit. Das sollte ausreichen.

Danke Wosi, einen Absturz bekomme ich schonmal hin.

DeddyH 22. Okt 2017 15:33

AW: Programmabsturz verursachen
 
Zum "Anwendung reagiert nicht mehr": das sollte sich mit einer Endlosschleife hinkriegen lassen, z.B.im OnShow des Formulars.
Delphi-Quellcode:
while true do;

omp 22. Okt 2017 17:30

AW: Programmabsturz verursachen
 
Bei Detlefs Hinweis zur Endlosschleife dachte ich sofort: ja, das ist es. Klappte aber nicht.

Siehe aber https://stackoverflow.com/questions/...i-applications

Code:
procedure TForm12.Button2Click(Sender: TObject);
begin
  try
    JITEnable := 2;
    raise Exception.Create('Error Message');
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;
end;
Oder die zweite Antwort mit
Code:
function Crash

Frank Ranis 23. Okt 2017 06:46

AW: Programmabsturz verursachen
 
Hallo ,

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
label 1;
begin
 1: goto 1;
end;
Gruß

Frank

DeddyH 23. Okt 2017 10:32

AW: Programmabsturz verursachen
 
Zwischen "funktioniert nicht" und "reagiert nicht" gibt es einen Unterschied, ich hatte nicht sorgfältig genug gelesen. Sry, mein Fehler.

Der schöne Günther 23. Okt 2017 10:36

AW: Programmabsturz verursachen
 
Ich hätte noch einen wo die Meldung von Windows schon kommt obwohl die Anwendung zu dem Zeitpunkt noch normal weiterläuft.

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
   thread: TThread;
begin
   thread := TThread.CreateAnonymousThread(nil);
   thread.OnTerminate := handleThreadTerminate;
   thread.Start();
end;

procedure TForm1.handleThreadTerminate(Sender: TObject);
begin
   raise EProgrammerNotFound.Create('derp');
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz