Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi UnRar macht nicht alle RARs!? (https://www.delphipraxis.net/93338-unrar-macht-nicht-alle-rars.html)

Mattze 4. Jun 2007 14:47


UnRar macht nicht alle RARs!?
 
Hallo,

vielleicht kennt jemand das Problem (und dessen Lösung):
Ich war ziemlich erstaunt, als ich eben eine RAR-Datei nicht mit der UnRar.dll (und dem Delphi-Wrapper) auf bekam.
Bisher ging das (mit anderen RARs) ohne Probleme.
Und WinRAR macht das mit dieser komischen RAR auch ohne Problem.

Ich habe schon die neueste UnRAR.dll gesaugt. Also woran könnte das denn sonst noch liegen?
(Es ist garantiert eine RAR, jedenfalls steht das drin - per Hexeditor nachgeguckt!)

Gruß
Mattze

Bernhard Geyer 4. Jun 2007 14:48

Re: UnRar macht nicht alle RARs!?
 
Kommt eine Fehlermeldung und wenn ja welche?

Mattze 4. Jun 2007 17:02

Re: UnRar macht nicht alle RARs!?
 
Hallo,

es kommt KEINE Fehlermeldung. Das hätte ich sonst natürlich geschrieben.
Er bleibt einfach stehen. ("Keine Rückmeldung")
Das Systemmenü funktioniert aber, man kann also schön abbrechen.

Inzwischen habe ich etwas weitergespielt und mal ein gaaanz uraltes Beispiel für die Nutzung der Unrar.dll gefunden. (Auf Spanisch!!!)
Der nutzt die DFUnrar-Komponente natürlich nicht, sondern macht alles direkt. Da geht das dann!
Ich habe mir nun eine Funktion "ListRar" gebastelt, die das so direkt abnimmt. Die kann das auch ordentlich öffnen!
Es scheint also etwas mit der DFUnrar nicht zu stimmen.
Mal gucken...

Gruß
Mattze

Mattze 5. Jun 2007 12:00

Re: UnRar macht nicht alle RARs!?
 
Hallo,

ich hab's gefunden - hoffe ich.
Es scheint tatsächlich in der Wrapper-Komponente DFUnrar eine Zeile gefehlt zu haben!

Danke!
Matthias

Luckie 5. Jun 2007 12:36

Re: UnRar macht nicht alle RARs!?
 
Verräts du uns auch welche?

Mattze 5. Jun 2007 13:44

Re: UnRar macht nicht alle RARs!?
 
Hallo,

mach ich doch glatt... Ich hoffe, ich darf, da Freeware.

In TDFUnrar.ProcessFile steht:
Delphi-Quellcode:
If not is Directory then begin
  if Operation=RAR_Extract then begin
  end;
end
Und was macht er, wenn es kein Directory ist und die Operation auch etwas anderes macht? (Nur zum Auflisten - z. B.)
Also müsste das meiner Meinung nach sein:
Delphi-Quellcode:
If not is Directory then begin
  if Operation=RAR_Extract then begin
  end else
    result:=RARProcessFile(hArcData, Operation, nil,nil);
end
Ob das so richtig ist? Ich weiß es nicht, aber es funktioniert bei mir!

Gruß
Matthias


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz