Wenn du das wirklich per "Öffnen mit" machen willst (also per Rechtklick, "Öffnen mit" -> Deine Anwendung), dann kannst du das Array of String schonmal vergessen. Es wird immer nur die fokussierte Datei an das ausgewählte Programm übergeben.
Ansonsten geh mal die Kommentare im Code durch
Delphi-Quellcode:
var paramfiles : Array of String;
...
begin
if (ParamCount > 0) and (FileExists(ParamStr(1))) then
begin
SetLength(paramfiles, ParamCount);
for i := 0 to ParamCount - 1 do
paramfiles[i] := ParamStr(i);
FileType := LowerCase(Trim(ExtractFileExt(ParamStr(1))));
// Das soll doch sicherlich zur Typen-Bestimmung dienen, oder?
for ArrayIndex := 0 to 10 do
if FileExt[ArrayIndex] = FileType then
Break;
if FileType <> '' then
begin
// aber hier ist ArrayIndex möglicherweise unbestimmt - das ist ja nur ne for-Schleifen-Variable!
case ArrayIndex of
// Audio oder Video
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11:
begin
// Sicher, das nichts ungutes passieren kann, wenn bei AddFiles auch der Dateiname der Exe mit reinkommt?
AddFiles(paramfiles);
end;
// Playlist
end;
end;
end;
end;
[/quote]