7-Zip 9.22 beta 버전의 소스를 빌드하여 LZMA.dll을 만들고, 이에 대한 델파이 유닛을 만들었습니다. 보다 최근 버전들은 알파상태라 일단 패스 ^^*
압축속도는 느리지만, 압축률만큼은 대단하네요!
우선 간단하니까 소스는 아래의 링크에서 참고하실 수 있습니다.
http://code.google.com/p/ryulib4delphi/source/browse/trunk/XE2/LZMA.pas
그리고, DLL은
http://code.google.com/p/ryulib4delphi/source/browse/trunk/XE2/LZMA.dll
별거 없는데 쓸데 없는 시행착오를 좀 했습니다 ㅠ.ㅠ
props라는 인자가 있는데, 이넘이 아마도 프로퍼티를 의미하는 가 봅니다. 압축할 때 썼던 것을 그대로 압축 해제할 때도 사용해야 합니다. 저는 아무 생각없이 새로 정의해서 사용하다가 계속 에러를 찾느라 고생했었습니다. 제가 발견한 예제와 달리 아예 압축하고 난 데이터 안에 해당 데이터를 함께 집어넣어서 해제할 때 아무 생각없이 사용할 수 있도록 하였습니다.
예제는 아래의 링크에 있습니다.
http://code.google.com/p/ryulib4delphi/source/browse/#svn%2Ftrunk%2FXE2%2FSamples%2FLZMA
UPnP - 포토 포워딩 설정 (Delphi 버전) (0) | 2013.07.24 |
---|---|
Class To DLL - 델파이 클래스를 Dll로 포팅해주는 프로그램 (0) | 2013.07.14 |
LazyRelease - 메모리 해제를 뒤로 미루기 (0) | 2012.10.21 |
JsonFormatter unit 추가 (0) | 2012.08.02 |
A Simple thread class that can change stack size for it (0) | 2012.07.01 |