edit: O-Ha, wenn ShellExecute kein Boolean sondern ein Handle zurückgibt, haben meine Nachredner natürlich recht, trotzdem kannst du hier die Struktur eines If befehls sehen
True ist immer Wahr, False is immer Unwahr. Du musst zunächst den Rückgabewert von ShellExecute in einer Variablen speichern und diese dann auf True oder False prüfen, also so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var MyResult:boolean;
begin
Memo1.Lines.add ('
Starting xxx');
MyResult:=ShellExecute(
Handle, '
open', PChar('
\xxx\xxx.exe'),
nil,
nil, SW_SHOW);
if MyResult = True
then memo1.Lines.add ('
Correct');
if MyResult = False
then memo1.lines.add ('
incorrect');
end;
Alternativ kannst du auch das "=True" und "=False" weglassen, da eine If Abfrage immer nachguckt, ob der Ausdruck hinter dem Wort If Wahr oder Falsch ist. D.h. oben guckt er jetzt: "ist (MyResult=True) Wahr, dann schreibe Correct ansonsten "ist (MyResult=False) Wahr dann schreibe incorrect". Außerdem kannst du noch das schöne "else" benutzten, dann brauchst du keine zwei separaten If abfragen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var MyResult:boolean;
begin
Memo1.Lines.add ('
Starting xxx');
MyResult:=ShellExecute(
Handle, '
open', PChar('
\xxx\xxx.exe'),
nil,
nil, SW_SHOW);
if MyResult
then memo1.Lines.add ('
Correct')
else memo1.lines.add ('
incorrect');
end;