Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   In nonVCL Fehler / Exceptions abfangen ? (https://www.delphipraxis.net/142679-nonvcl-fehler-exceptions-abfangen.html)

turboPASCAL 1. Nov 2009 16:57


In nonVCL Fehler / Exceptions abfangen ?
 
Hi,

ich schon wieder. :stupid:

da ich einem undefinierbarem Fehler auf der Spur bin, habe ich mir gedacht
man könne ja Quelltextteile mit try & except erst ein mal eingrenzen.
Leider ist dem anscheint nicht so, except wird ignoriert.

Testapp:
Delphi-Quellcode:
program Blah;

type
  DWORD = Cardinal;

function msgb(hWnd: DWORD; lpText, lpCaption: PChar; uType: DWORD): Integer;
  stdcall; external 'user32.dll' name 'MessageBoxA';

var
  n, i: integer;

BEGIN
  SetLastError(0);

  i := 1;
  dec(i);

  try
    n := 50 div i;
  except
    n := -1;
  end;


  if n <> 0 then msgb(0, 'Huch.', '!', 0);
END.

Sir Rufo 1. Nov 2009 17:10

Re: In nonVCL Fehler / Exceptions abfangen ?
 
Ja und was soll da deiner Meinung nach passieren?

Soll da etwa eine MessageBox aufpoppen?

Die poppt auf, wenn n größer als 0
Im Exception-Fall ist n aber kleiner gleich 0 -> -1

cu

Oliver

turboPASCAL 1. Nov 2009 17:13

Re: In nonVCL Fehler / Exceptions abfangen ?
 
Ja, Tippfehler n<>0.
Das ist eigentlich dazu da, damit die Compilermagic nix weg optimiert.

Sir Rufo 1. Nov 2009 17:19

Re: In nonVCL Fehler / Exceptions abfangen ?
 
Zitat:

Zitat von turboPASCAL
Ja, Tippfehler n<>0.
Das ist eigentlich dazu da, damit die Compilermagic nix weg optimiert.

Der Tippfehler hilft gegen die Compilermagic :gruebel: sehr interessant :mrgreen:

Besteht der Fehler immer noch, oder ist das durch die Korrektur des Tippfehlers behoben?

cu

Oliver

turboPASCAL 1. Nov 2009 17:31

Re: In nonVCL Fehler / Exceptions abfangen ?
 
Es geht darum das der Except-Block ignoriert wird.
Nehmen wir die SysUtils auf funktioniert der Except-Block wie erwartet.

Also kann man bei nonVCL try & except in die Tonne verschieben ?

thkerkmann 1. Nov 2009 17:38

Re: In nonVCL Fehler / Exceptions abfangen ?
 
Ja, kann man.
Sysutils installiert das Exception Handling.

Wolfgang Mix 1. Nov 2009 17:44

Re: In nonVCL Fehler / Exceptions abfangen ?
 
Dank für die Erkenntnis.
Fummele schon 'ne ganze Zeit mit dem Fehler herum,
konnte ihn aber bei automatisch eingebundenen SysUtils nicht reproduzieren.

Gruß

Wolfgang

DeddyH 1. Nov 2009 17:45

Re: In nonVCL Fehler / Exceptions abfangen ?
 
Das kommt ja darauf an, wie man nonVCL definiert. Für mich ist das einfach der Verzicht auf TForm etc., das schließt SysUtils ja nicht aus.

turboPASCAL 1. Nov 2009 17:53

Re: In nonVCL Fehler / Exceptions abfangen ?
 
Zitat:

Zitat von DeddyH
Das kommt ja darauf an, wie man nonVCL definiert. Für mich ist das einfach der Verzicht auf TForm etc., das schließt SysUtils ja nicht aus.

Ja, das mag stimmen.

Ich habe es halt gern pure API. :mrgreen:

DeddyH 1. Nov 2009 17:55

Re: In nonVCL Fehler / Exceptions abfangen ?
 
[OT] Ich hab hier noch irgendwo die CD "TP 1.5 for Windows", wär das nix? :mrgreen: [/OT]


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:03 Uhr.
Seite 1 von 3  1 23      

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