Autor Beitrag
mexx
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1183



BeitragVerfasst: Di 01.06.04 15:16 
Hi,

ich entpacke eine cab mit Shellexecute im sw_hide modus. Vorkurzen hat auch alles funktioniert. Ohne das ich den code geändert habe oder irgend welche namen, funktioniert es nicht mehr.

Über die command macht er es aber.

Gibt es etwas bei cab's zu beachten was ich nicht beachtet haben?

ausblenden Quelltext
1:
ShellExecute(Application.Handle, 'open', 'extract', '/E /L [Ziellaufwerk] datei.cab [datei1.txt]', nil, SW_SHOW);					


Gruß Mexx
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 01.06.04 16:41 
Hättest du das nicht noch hier anhängen können? Ich meine, so anders ist das Thema ja nun nicht. :roll:
FaTaLGuiLLoTiNe
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 200
Erhaltene Danke: 5

Windows 7, Windows 8.1
Delphi XE
BeitragVerfasst: Di 01.06.04 16:43 
Vielleicht wollte der Ärmste keine "Neue Frage = neuer Thread" Antwort provozieren ... liest man ja oft genug hier. Ist aber sicherlich ein Grenzfall, die hängen ja doch direkt zusammen, die beiden Fragen.

_________________
<< FaTaLGuiLLoTiNe >>
Rhinoceroses don't play games!
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 01.06.04 16:46 
So hat er eine "Neue Frage = Alter Thread"-Antwort bekommen. ;)
Aber ernsthaft -

Ich glaube nach wie vor, dass das CAB-API besser ist. Insbesondere weil man dann vom externen Entpackprogramm unabhängig ist und auch CABs bearbeiten kann (sprich: eigene Dateien hinzufügen, usw.). Irgendwann habe ich mal eine Komponente benutzt. Aber ich wollte mir ohnehin mal das "Dahinter" ansehen und evtl. auch direkt (via API) auf CABs zugreifen.
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Di 01.06.04 17:11 
MathiasSimmack hat folgendes geschrieben:
[...] und auch CABs bearbeiten kann (sprich: eigene Dateien hinzufügen, usw.).

Halt! Das geht nicht bei CABs. Mein Fehler. Es können keine Dateien aus CABs gelöscht werden (wie bei ZIP, RAR, o.ä.), und man kann keine Dateien hinzufügen. Wenn man das machen will, muss man das komplette CAB-Archiv erneuern.

Aber wie dem auch sei, hier geht´s ja ohnehin bloß ums Entpacken. ;)
mexx Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1183



BeitragVerfasst: Mi 02.06.04 12:22 
Hi,

danke für die Antwort, aber das hilft mir nicht. Die ShellExecute erfüllt ja Ihren Zweck. Von 5 Dateien wird eine nicht entpackt. Ich habe Sie umbenannt, hat nix genützt. Aber die command machts.
MathiasSimmack
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 02.06.04 12:33 
mexx hat folgendes geschrieben:
Ich habe Sie umbenannt, hat nix genützt.

Ich lasse mich ja auch nicht von jedem umbenennen. :mrgreen: Häng mal spaßeshalber noch das ".exe" an den Dateinamen "extract" ran. Ich glaube zwar nicht, dass es was bringt, aber einen Versuch ist es wert.

Zitat:
Von 5 Dateien wird eine nicht entpackt.

Du solltest dir vielleicht doch mal das Tutorial auf delphi-source.de anschauen. Wie gesagt, damit benutzt du direkt das CAB-API und brauchst keinen Aufruf von "ShellExecute" mehr.
mexx Threadstarter
ontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic star
Beiträge: 1183



BeitragVerfasst: Mi 02.06.04 12:42 
Die dateiendung hat keinen effekt, habe ich auch schon daran gedacht. Jetzt mal das Tutorial bei Seite geschoben. Ich habe für jede der 5 Dateien eine eigene Shellexecute um einen ProgressBar mit jeden entpacken steigen zu lassen. Wenn ich die 4 Funktinierenden Dateien auskommentiere, funktioniert die eine die sonst nicht geht. Gemeinsam läuft wiederrum nix. Läuft das vielleicht zu schnell, wenn ich die Dateien entpacke?(was ich nicht glaube)