Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Fehler-Box erzeugen (https://www.delphipraxis.net/33782-fehler-box-erzeugen.html)

robroy85 12. Nov 2004 14:13


Fehler-Box erzeugen
 
hallo liebe Leute!

Mal wieder eine Newbie-Frage!
Ich traue mich sie trotzdem zu stellen, weil
a) ich nicht schüchtern bin
b) schon einige Zeit ohne Ergebnis gegoogelt habe
;-)

also ich möchte gerne einen ersatz für diese Zeile finden:
Delphi-Quellcode:
showmessage('Der Pfad'+OpenDialog.Filename+'verweist auf keine korrekte Import-Datei') ;
Der Befehl showmessage ist zwar zweckmäßig aber ich hätte gerne noch ein Ausrufe-Zeichen oder ein rotes Kreuz, damit es dem Beutzer mehr ins Auge sticht!
und leider macht showmessage bei mir einen etwas doofen Zeilenumbruch!

Kann ich die Eigenschaften von Showmessage verändern oder muss ich eine andere Funktion nehmen?

Danke schonmal

Luckie 12. Nov 2004 14:16

Re: Fehler-Box erzeugen
 
Entweder die Methode Delphi-Referenz durchsuchenMessagebox von TApplication oder direkt die API Funktion MSDN-Library durchsuchenMessagebox.

alcaeus 12. Nov 2004 14:18

Re: Fehler-Box erzeugen
 
Hi robroy85,

ich verwende immer Delphi-Referenz durchsuchenMessageDlg:

Delphi-Quellcode:
MessageDlg('Fehler', mtError, [mbOk], 0);
Greetz
alcaeus

shmia 12. Nov 2004 14:33

Re: Fehler-Box erzeugen
 
Am Besten so:
Delphi-Quellcode:
Raise Exception.Create('Der Pfad'+OpenDialog.Filename+'verweist auf keine korrekte Import-Datei');
oder so:
Delphi-Quellcode:
Raise Exception.CreateFmt('Der Pfad %s verweist auf keine korrekte Import-Datei', [OpenDialog.Filename]);
Das Auslösen einer Exception bei einem Fehler ist immer besser als die Verwendung von ShowMessage, MessageDlg oder Ähnlichem. (es sei denn, du willst ohne VCL programmieren)

alcaeus 12. Nov 2004 14:35

Re: Fehler-Box erzeugen
 
Hi shmia,

nicht unbedingt. Es könnte ja sein, dass man dem Benutzer bei einem Fehler Optionen bieten will (Log einsehen oder nicht). Das kannst du nur mit MessageDlg oder MessageBox lösen, nicht aber mit Exception.Raise.

Greetz
alcaeus

CReber 12. Nov 2004 14:37

Re: Fehler-Box erzeugen
 
Muss das dann so?

Delphi-Quellcode:
try
  ZugriffWoDerFehlerEntsteht;
except
  on e:exception do
    Raise Exception.Create('Der Pfad'+OpenDialog.Filename+'verweist auf keine korrekte Import-Datei');
end;

shmia 12. Nov 2004 14:46

Re: Fehler-Box erzeugen
 
Zitat:

Zitat von Christian Reber
Muss das dann so?
Delphi-Quellcode:
try
  ZugriffWoDerFehlerEntsteht;
except
  on e:exception do
    Raise Exception.Create('Der Pfad'+OpenDialog.Filename+'verweist auf keine korrekte Import-Datei');
end;

Eher so:
Delphi-Quellcode:
try
  ZugriffWoDerFehlerEntsteht;
except
  on e:exception do
  begin
    // Fehlermeldung geändert, weil:
    // ich kann nicht behaupten, dass die Datei nicht korrekt war
    // ich kann nur feststellen, dass der Import nicht funktioniert hat.
    // (vielleicht war die Datei ja in Ordnung, aber im Zugriff eines fremden Programms)

    e.Message := Format('Fehler beim Importieren von <%s> !'#13#10, [OpenDialog.Filename])+
       e.Message; // die ursprüngliche Fehlermeldung bleibt erhalten
    Raise; // Exception erneut auslösen
  end;
end;

Luckie 12. Nov 2004 15:08

Re: Fehler-Box erzeugen
 
Eventuell will er ja keine Exception werfen?


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

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