7zip Delphi-Wrapper lazarus / 34-Windows ---------------------------------------------------------------------- uwetr · 2015-06-18 11:33 Hi, I would like to extract some 7zip Archives by using Lazarus So I've found a Delphi-Wrapper for the 7z-dll at https://code.google.com/p/d7zip/downloads/list But I'm a newbie in Lazarus, so I have no idea if/how to use it with Lazarus. ;-( Could someone give me hand in how to start ? thanks in advance and best regards,   Uwe Viele Grüße, Uwe ---------------------------------------------------------------------- Leledumbo · 2015-06-18 11:51 Quote from: uwetr on June 18, 2015, 01:33:13 pmBut I'm a newbie in Lazarus, so I have no idea if/how to use it with Lazarus. ;-( Could someone give me hand in how to start ? Forget this 7zip thing, get the basics working in your brain first. Read the documentation & wiki, look for tutorials on the net. The unit compiles cleanly for windows target using delphi mode. ---------------------------------------------------------------------- JuhaManninen · 2015-06-18 12:21 The component uses ActiveX and is Windows dependent. I found another component, "Delphi TSevenZipVCL" in page :   http://www.rg-software.de/ It uses a DLL. It would be possible to make a cross-platform version that uses 7z.so on Unix related systems and 7za.dll on Windows. Such component could be added to CCR. If somebody is interested to implement it, please look at the BZip2 component as an example :   http://wiki.lazarus.freepascal.org/bzip2lib ---------------------------------------------------------------------- Leledumbo · 2015-06-18 20:13 Quote from: JuhaManninen on June 18, 2015, 02:21:12 pmThe component uses ActiveX and is Windows dependent. I found another component, "Delphi TSevenZipVCL" in page :   http://www.rg-software.de/ It uses a DLL. It would be possible to make a cross-platform version that uses 7z.so on Unix related systems and 7za.dll on Windows. Such component could be added to CCR. It uses activex as well. I think it's better to grab current 7-zip C source then convert the header to Pascal unit instead. It should be free from windows-ism. ---------------------------------------------------------------------- Michl · 2015-06-18 20:31 There is a crosspost to German Lazarusforum. Just as a note, the Delphi wrapper Quote from: uwetr on June 18, 2015, 01:33:13 pmSo I've found a Delphi-Wrapper for the 7z-dll at https://code.google.com/p/d7zip/downloads/listworks also in Lazarus on Windows 7, with $MODE DELPHI and a removed " (* " in the unit. ---------------------------------------------------------------------- taazz · 2015-06-18 21:02 Quote from: Michl on June 18, 2015, 10:31:21 pmThere is a crosspost to German Lazarusforum. Just as a note, the Delphi wrapper Quote from: uwetr on June 18, 2015, 01:33:13 pmSo I've found a Delphi-Wrapper for the 7z-dll at https://code.google.com/p/d7zip/downloads/listworks also in Lazarus on Windows 7, with $MODE DELPHI and a removed " (* " in the unit. open source Inno setup uses 7z to compress the files in the setup I don't remember if it is 7z format it self or only lzma though. Peazip an open source multi compression utility supports it I don't remember if it requires the dll in any case the 7z file format is on some sort of gpl so it shouldn't be used on none gpl applications I think. ---------------------------------------------------------------------- uwetr · 2015-06-18 22:23 Hi, thanks to all for the helping hands! @Michl: working perfekt, thank you so much! cheers,    Uwe ---------------------------------------------------------------------- avra · 2015-06-19 06:58 Quote from: Leledumbo on June 18, 2015, 10:13:06 pmI think it's better to grab current 7-zip C source then convert the header to Pascal unit instead.For the record, I have found partial conversion in CodeTyphon. So far just LZMA works. http://www.pilotlogic.com/sitejoom/index.php/forum/32-codeocean/3186- 7zip-pascal-native-support ---------------------------------------------------------------------- taazz · 2015-06-19 09:01 Quote from: avra on June 19, 2015, 08:58:55 amFor the record, I have found partial conversion in CodeTyphon. So far just LZMA works. http://www.pilotlogic.com/sitejoom/index.php/forum/32-codeocean/3186- 7zip-pascal-native-support http://www.birtles.org.uk/programming/  this is the sdk translation of 7z to pascal this has been converted because the sdk is released under public domain the 7z file format is under a different license not commercial friendly if I remember correctly thats why it has not been converted. ---------------------------------------------------------------------- marcov · 2015-06-19 11:10 Quote from: taazz on June 19, 2015, 11:01:11 amQuote from: avra on June 19, 2015, 08:58:55 amhttp://www.birtles.org.uk/programming/  this is the sdk translation of 7z to pascal this has been converted because the sdk is released under public domain the 7z file format is under a different license not commercial friendly if I remember correctly thats why it has not been converted. (7z dll is LGPL+ some extra restrictions on the unrar code. I assume the unrar code could be removed, so that would leave pure LGPL.  That means you must deliver it in a dll/.so and make the changes available on request. Not really anti-commercial, but it does prohibit static linking it under normal conditions)