Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Prism Fehler behandeln (https://www.delphipraxis.net/67561-fehler-behandeln.html)

Martin W 16. Apr 2006 18:48


Fehler behandeln
 
Hi;

Delphi-Quellcode:
function Tserver_mainform_form.CopyFile(AFileFrom: string; AFileTo: string): boolean;
var
  mem : TMemoryStream;
begin
  try
    if FileExists(AFileFrom) then
      begin
        mem := TMemoryStream.Create;
        try
          mem.LoadFromFile(AFileFrom);
          mem.SaveToFile(AFileTo);
        finally
          mem.Free;
        end;
      end;
    Result := True;
  except
    AddMessageToListbox(ListBox1, Str0056);
    Result := False;
  end;
end;
mal angenommen der Try Block produzierte ne Fehlermeldung... die wird ja wegen des Except Blocks nicht angezeigt.. wie kann ich sie trotzdem als String haben??

Gruß
MArtin W.

Elvis 16. Apr 2006 18:53

Re: Fehler behandeln
 
Indem du try-except in der Delphi Doku nachschlägt?
Das ist wirklich viel zu basic, als dass es Sinn machen würde das in einem Forum zu erklären...

SirThornberry 16. Apr 2006 18:54

Re: Fehler behandeln
 
bist du dir sicher das es sich um .Net handelt?
In delphi Win32 würde das so aussehen.
Delphi-Quellcode:
try
  [...]
except
  on BeliebigerName: Exception do
    ShowMessage(BeliebigerName.Message);
end;
Wie Elvis bereits erwähnt hat steht das alles in der Hilfe (unter try...)

Martin W 16. Apr 2006 18:58

Re: Fehler behandeln
 
Ja das habe ich ja bereits :-) Das steht aber nur für win32 was...

Das steht das man das mit E.message daran kommt.. aber es kommt folgende Delphi.net Meldung:

[Fehler] server_mainform_unit.pas(455): E2003 Undefinierter Bezeichner: 'E'

Gruß

SirThornberry 16. Apr 2006 19:12

Re: Fehler behandeln
 
dann hast du das "on..." vergessen. So wie ich es gepostet hab funktioniert es unter delphi für win32 und Winforms für .NET

faux 16. Apr 2006 20:42

Re: Fehler behandeln
 
Zitat:

Zitat von Martin W
Das steht das man das mit E.message daran kommt.. aber es kommt folgende Delphi.net Meldung:

[Fehler] server_mainform_unit.pas(455): E2003 Undefinierter Bezeichner: 'E'

Poste mal etwas Code. ;)

Grüße
Faux

Martin W 17. Apr 2006 08:29

Re: Fehler behandeln
 
So... für alle gibt es hier noch mal die Lösung meines Problemes:

Delphi-Quellcode:
function Tserver_mainform_form.CopyFile(AFileFrom: string; AFileTo: string): boolean;
var
  mem : TMemoryStream;
begin
  try
    if FileExists(AFileFrom) then
      begin
        mem := TMemoryStream.Create;
        try
          mem.LoadFromFile(AFileFrom);
          mem.SaveToFile(AFileTo);
        finally
          mem.Free;
        end;
      end;
    Result := True;
  except
    on Error_Track: Exception do
      begin
        AddMessageToListbox(ListBox1, Error_Track.Message);
        AddMessageToListbox(ListBox1, Str0056);
        Result := False;
      end;
  end;
end;
Danke nochmal !!! Gruß
Martin W.


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