Jump to content

7Zip


rasim
 Share

Recommended Posts

Hello rasim.

I try to use the function _7ZipGetArcOriginalSize, but it seems that it can't work whithout the function _7ZipOpenArchive and wen I try to use _7ZipOpenArchive, I have all the time an error returned.

I try to use your example _7ZipFindFirst__7ZipFindNext_Example.au3, but it doesn't work anymore.

Can you point me what I'm doing wrong or forget ?

It appears that the error is occurs if archive file contains quotes.

Func _7ZipOpenArchive($hWnd, $sArcName)
    ;$sArcName = '"' & $sArcName & '"' This causes the error
    Local $hArc = DllCall($hDLL_7ZIP, "hwnd", "SevenZipOpenArchive", "hwnd", $hWnd, "str", $sArcName, "int", 0)
    Return $hArc[0]
EndFunc   ;==>_7ZipOpenArchive

My miss, sorry guys. Fixed. Updated first post. :)

Link to comment
Share on other sites

  • 1 month later...

@Slym

Did someone actually manage to obtain the original size or something else to make a progression bar when extracting ?

See a _7ZIPExtractEx_Example_using_Callback.au3 example in the archive which you can download from the first post. :)
Link to comment
Share on other sites

it's working well with a .7z but my software really need this for a .iso file of 700MB (Ubuntu ISOs).

So maybe i will keep my old and totally inaccurate method (size of output is hard coded).

--------------------- [font="Franklin Gothic Medium"]LinuxLive USB Creator[/font], [size="3"]The only Linux Live USB creator with easy integrated virtualization (made with AutoIT)[/size] ---------------------

Link to comment
Share on other sites

it's working well with a .7z but my software really need this for a .iso file of 700MB (Ubuntu ISOs).

So maybe i will keep my old and totally inaccurate method (size of output is hard coded).

:) Sorry, but a 7-zip32.dll does not support the ISO format.
Link to comment
Share on other sites

I saw that ... since 7-zip supports ISO i thought its DLL would.

For my soft i'm actually using 7-Zip Console 4.60.0.0 but i did not find a way to make a real progress bar with it.

--------------------- [font="Franklin Gothic Medium"]LinuxLive USB Creator[/font], [size="3"]The only Linux Live USB creator with easy integrated virtualization (made with AutoIT)[/size] ---------------------

Link to comment
Share on other sites

Is it possible to compress data in memory?

The function I'm looking for would look something like:

Func _7ZipCompressBuffer($Buffer,$SizeOfBuffer,ByRef $CompressedBuffer,ByRef $SizeOfCompressedBuffer)

Oh and good job :)

Broken link? PM me and I'll send you the file!

Link to comment
Share on other sites

Slym

I saw that ... since 7-zip supports ISO i thought its DLL would.

For my soft i'm actually using 7-Zip Console 4.60.0.0 but i did not find a way to make a real progress bar with it.

Trying to unpack the iso file using a console 7z.exe and got this message:

Posted Image

@monoceres

Is it possible to compress data in memory?

I think no :)
Link to comment
Share on other sites

  • 3 weeks later...

eXoRt

I don't think, that this is a critical error, just declare variables. Anyway thanks for this information. I will fix this later :)

Edit:

Fixed, updated first post.

Edited by rasim
Link to comment
Share on other sites

Rasim, a really nice UDF :), thanks for that. Will surly integrate it into SMF :lmao: ... one request though, could you please add a version or date to the UDF, so tracking updates would be easier?

Edit:

Taking a deeper look, should the _OnAutoitExit() func be called manually on Exit? Don't see it being done. Also you wrote IsDeclared("$hDLL_7ZIP"), I think it should be IsDeclared("hDLL_7ZIP").

Thanks again and Best Regards

Edited by KaFu
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...