If not Assigned(Shellobj) then RaiseLastOSError;
will mein Compiler nicht. Er meckert dann über "E2008 inkompatible Typen".
Und dann muss ich sagen:
Es funktioniert. Vermutlich tat es das schon die ganze Zeit.
Mein Problem ist folgendes: Ich möchte eine odt-Datei entapcken. Das sind Dateien von OpenOffice, deren Text üblicher Weise in der content.xml gespeichert wird. Das ganze wird dann in einen Container mit anderen Daten gepackt. Ich ging immer davon aus, dass das Standard-zip ist. Denn wenn ich die Datei in irgendwas.zip umbenenne, kann ich sie mit Windows Bordmitteln entpacken (Inhalt ansehen mit Doppelklick und entpacken nach Rechtsklick). Andere Programme (z.B. mein uralter Norton Commander) bringen mir bei odt-Dateien Fehlermeldungen. Scheinbar schlägt das dann auch auch bei der Verwendung der
API durch.
Andere Dateien ließen sich jedenfalls (jetzt) problemlos entpacken.
Entschuldigt daher meine Aufregung.
Ich frage mich jetzt bloß noch, warum das im BS geht und beim Aufruf aus Delphi nicht (mehr)? Gelöst habe ich das jetzt mit der
Unit SciZipFile. Die benutzt keine
DLL (was mir besonders wichtig war), ist sehr klein (= nimmt in meiner fertigen exe nur ca. 1KB mehr ein) und ist sehr schnell.
Danke nochmal für die Hilfe
<
OT>Warum bekomme ich keine mail mehr, wenn ich eine Antwort auf eine Frage bekommen habe? Diese Option war nach dem Update der Forensoftware zwar ausgeschaltet. Aber auch nach dem Einschalten tut sich nichts.</
OT>
Gruß, Alex