AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

fremde Exceptions abfangen

Ein Thema von R2009 · begonnen am 19. Mai 2010 · letzter Beitrag vom 19. Mai 2010
Antwort Antwort
R2009

Registriert seit: 9. Mär 2009
Ort: Heidelberg
440 Beiträge
 
Delphi 2007 Professional
 
#1

fremde Exceptions abfangen

  Alt 19. Mai 2010, 15:11
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
Rainer Unger
Mein Profil:
Studium Allgemeine Elektrotechnik TH Darmstadt
Entwicklung von Tools für die Rundsteuer und Zählertechnik.
uP's Atmel Prozessoren (ATmega16,32,88...) in C und Assembler.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

Re: fremde Exceptions abfangen

  Alt 19. Mai 2010, 15:53
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;
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:42 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