Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi fremde Exceptions abfangen (https://www.delphipraxis.net/151475-fremde-exceptions-abfangen.html)

R2009 19. Mai 2010 14:11


fremde Exceptions abfangen
 
Hi DP'ler,

ich habe das Problem, dass mir von einem fremden Code Exceptions ausgelöst werden, die ich gerne selbst abfangen
und bearbeiten will.
In switch_check_ftdi ist das ein und ausschalten eines FTDI Adapters gekapselt. Für mich ist dieser Code zunächst eimal nicht
zugänglich.

Delphi-Quellcode:
  try
    //ftdi interface wanted?
    if a.ftdi=1 then
       main_form.central.switch_check_ftdi(true)
    else
       main_form.central.switch_check_ftdi(false);
  except
     MessageDlg('Update Record?2', mtConfirmation, [mbYes, mbNo], 0)
  end;
Der hinter except stehende Code wird nie ausgeführt, auch dann nicht wenn switch_check_ftdi eine Exception auslöst.
bevor jemand meckert, den messagedialog hab ich einfach aus der Hilfe kopiert. Dient zunächst einmal nur zu Testzwecken.
Gibt es dafür eine Lösung?

Grüsse
rainer

himitsu 19. Mai 2010 14:53

Re: fremde Exceptions abfangen
 
Sicher, daß auch die Exception durchgereicht wird?
Nicht daß der externe Code diese abfängt und dann die Meldung nur anzeigt.

Was passiert denn, wenn du deinen Code debuggst?

Bzw., was passiert denn hier?
Delphi-Quellcode:
try
  //ftdi interface wanted?
  MessageDlg('Melung 1', mtConfirmation, [mbYes, mbNo], 0)
  if a.ftdi=1 then
     main_form.central.switch_check_ftdi(true)
  else
     main_form.central.switch_check_ftdi(false);
  MessageDlg('Melung 2', mtConfirmation, [mbYes, mbNo], 0)
except
  MessageDlg('Melung 3', mtConfirmation, [mbYes, mbNo], 0)
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:25 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