Sowas geht:
Delphi-Quellcode:
procedure TForm1.btnZipClick(Sender: TObject);
var
BaseDir : string;
ZipFile : TZipFile;
begin
BaseDir := IncludeTrailingPathDelimiter(TPath.GetDirectoryName(Paramstr(0)));
ZipFile := TZipFile.Create;
ZipFile.Open(BaseDir+'ZipTest.zip', zmWrite);
ZipFile.Add(BaseDir+'Hällö\Äin Faß vüll Tönte.txt' ,'Hällö\ZipTest\Äin Faß vüll Tönte.txt');
ZipFile.Close;
ZipFile.Free;
end;
Daher vermute ich dass Deine Dateisuche den falschen Stringtyp zurückgibt.
Wenn Du mit XEx und besonders FMX arbeitest, solltest Du das Find-Gedöns im eigenen Interesse durch TPath und TDirectory ersetzen. Auch die ganzen Abfragen auf "\" sowie "." sollten raus.