Delphi-Quellcode:
function FindExeForFileName(AFileName :
string;
var AResult :
string): boolean;
var
Buffer :
array[0..MAX_PATH]
of Char;
Handle: THandle;
begin
AResult := '
Unbekannt';
Handle := FindExecutable(PChar(AFileName),
nil,Buffer);
Result :=
Handle >= 32;
//// <--------------- Ich würde sagen ... hier!!
if Result
then AResult :=
String(Buffer)
else
case Handle of
SE_ERR_FNF : AResult := '
Datei '+AFileName+'
ist nicht vorhanden';
SE_ERR_PNF : AResult := '
Ungültiger Pfad';
// kann eigentlich nicht sein ;-)
SE_ERR_ACCESSDENIED : AResult := '
Zugriff verweigert';
SE_ERR_OOM : AResult := '
Woow...kein Speicher mehr. XE-8 läuft ???';
SE_ERR_NOASSOC : AResult := '
Kein assoziiertes Programm gefunden';
end;
end;
Eine
Exception wird ja so wie ich das sehe durch FindExecutable ausgelöst. Er könnte allerdings die GetLastError() Funktion verwenden, um die Fehlermeldungen noch auszugeben. Aber anscheinend wollte er sich seine eigenen Messages erstellen.
[Edit]RedBox???[/Edit]