2009-05-27 10 views
1

圧縮されたBLOBをファイルに保存するために、ActiveTcl 8.5でzlib拡張を使用しようとしています。 win32上のActiveTcl 8.5.5と8.5.6の両方にzlibtcl 1.2.3拡張があります。私は両方試してみた:zlibとActiveTcl 8.5とのインターフェース?

package require zlibtcl 

load zlibtcl123.dll 

を両方は拡張子が正常にロードされていることを示しているように見えるどの。しかし、エクステンションにアクセスするためにはどのコマンドが必要か分かりません。 ActiveTcl 8.6b1以降にはzlib機能が組み込まれていますが(http://wiki.tcl.tk/4610)、8.5.xを使用する既存のシステムに展開する必要があります。

私が知る限り、拡張機能を読み込んでも新しいコマンドはインタープリタに追加されません。これはかなり混乱します。 の文字列をdllで実行しても、追加の情報は表示されません。

注:私のバックアップ計画はSWIG zlibですが、可能であれば既存の拡張子を使用することをお勧めします。

答えて

1

vfs :: zipパッケージにはもっと幸運があります。 comp.lang.tcl hereの例があります。

+0

良い考えで構築することができます。私はこれを試しましたが、vfs :: zipはデフォルトのActiveTcl 8.5.5のインストールの一部ではないようです...そして、私はこのランタイム環境用のソリューションを必要としています。 – erichui

+0

これは確かに8.4 ActiveTclインストールの一部です。 8.5で提供されているデフォルトパッケージの数を大幅に減らしたと思います。基本8.5のインストールに制限したい場合は、苦労します。それは茶碗を使って8.5のために容易にダウンロードできる。 – Jackson

1

zlibtclは、Imgパッケージでのみ使用され、PNGなどのイメージ形式で圧縮を処理します。上記のように、vfs :: zipを試してください。 Trfパッケージもまた検討する価値があります。 http://wiki.tcl.tk/479

1

tclkit Tclインタープリタ/パッケージシステムのサポートの一部として提供するからzlibパッケージのコピーを入手できます。これは、8.6で使用されている完全なインターフェースをサポートしていませんが、圧縮と圧縮解除ができるだけの機能を備えています。

それとも代わりにtclsh/wishtclkitを使用しているzlibパッケージが既に。

関連する問題