ZLibの代わり、または利用するには?


くぅま  2006-01-20 19:18:10  No: 19791  IP: 192.*.*.*

Delphi2005.NETについて質問です。

今までWin32版のソースではZLibを利用して圧縮処理を
していたのですが、.NETになった際にZLibが利用できなく
なってしまいました。

これと互換のある物が存在しているのでしょうか?
もしくはZLibは.NETにおいて全く使用不可なのでしょうか?
自分で調べた所ではC1Zipなるもので代用できるのかと思い
試したのですが、上手い事いきませんでした。

どなたか分かる方がおられたら教えて下さい。お願いします。
できればZLibを使いたいのですが…(; ;

編集 削除
えーと  2006-01-21 11:34:26  No: 19792  IP: 192.*.*.*

SharpZipLib はどうでしょう?

編集 削除
えーと  2006-01-21 19:04:04  No: 19793  IP: 192.*.*.*

こういう手もありますね。
http://www.ipentec.com/delphi/delphi2005/pinvoke/index.html
http://dobon.net/vb/dotnet/links/extractarchive.html

編集 削除
くぅま  2006-01-23 12:17:38  No: 19794  IP: 192.*.*.*

えーとさん、返答ありがとうございます。

なにぶん初心者なもので、pInvokeについてよく分かっていない
のですが、自分でも調べてみましたが、pInvokeで簡単に書き換えられ
ないような気がしているのですが…
Zlibの中にC言語のソースファイル等があって、そこから関数等を読み
出しているように思うのですが、それらもinvoke処理が可能なので
しょうか??

編集 削除
えーと  2006-01-23 13:58:36  No: 19795  IP: 192.*.*.*

> Zlibの中にC言語のソースファイル等があって
zlib.dll ではなくzlib.pas を使用してという事でしょうか?

> それらもinvoke処理が可能なのでしょうか??
dll を直接使うように改造したらどうでしょう。

編集 削除
えーと  2006-01-25 18:31:30  No: 19796  IP: 192.*.*.*

System.Runtime.InteropServices.Marshal クラスを使うと
メモリブロックを割り当てや、マネージドとアンマネージドの変換が出来るようです。

編集 削除