Hi,
nach Deinen If-Abfragen fehlen auch die Begin und Endblöcke:
Delphi-Quellcode:
if buttonSelected = mrYes then
begin
ShowMessage('Programm wurde entfernt.');
Listbox1.Items.Delete(Listbox1.ItemIndex);
end;
Das ist an mehreren Stellen in Deinem Code so.
Desweiteren fehlen beim ersten Code, den Du gepostet hast, die Resourcenschutzblöcke. (try-finally).
An das aktuell ausgewählte Item der ListBox kommst Du über
TListBox.ItemIndex dran:
Delphi-Quellcode:
var
Err: Integer;
begin
if ListBox.ItemIndex > -1 then
begin
Err:= ShellExecute(0,
Nil,
PChar(ListBox.Items[ListBox.ItemIndex]),
Pchar('-Parameter'),
Pchar('C:\StartDir'),
SW_NORMAL);
if Err <= 32 then
Showmessage(ShellExecuteErrMessage(Err));
end;
end;
[edit] Im ersten Code ist übrigens noch ein begin zuviel [/edit]