habt Recht, so wie ich das sehe, ist da ein Fehler drin, ändere die Zeile
Reg.WriteString('', Format('"%s" "%s"', [OpenWith, ParamString]));
in
Reg.WriteString('', Format('"%s" %s', [OpenWith, ParamString]));
, dann geht es so wie es beschrieben wurde,
oder übergibt es so
InstallExt('.chess', 'Schach-Speicherstand', 'Schach', ParamStr(0), '%1',0);
also ohne die ".
Wobei ich dir zu ersterem raten würde, denn wenn man mehrere Parameter übergeben haben möchte, wird's etwas schwierig ... mir würde jedenfalls folgendes eigenartig vorkommen
Code:
InstallExt('.chess', 'Schach-Speicherstand', 'Schach', ParamStr(0), [color=#ff0000][b]'%1" "%2'[/b][/color],0);