MindでGUIプログラミング
■ 1998-12-08 [Tcl/Tk] 配布ファイルとサイズ
Mindで作ったGUIプログラムを使うためには、Tcl/Tkのランタイムも一緒に配布しなければならないので、アプリケーションのサイズが大きくなってしまいます。
しかし、キリー博士からのご教授で、不要なTcl/Tkファイルを削除すれば、かなりサイズを抑えられることがわかりました。
いま作っているプログラムの場合、ダイエットしたTcl/Tkのランタイムを含んだ状態で、実行に必要なファイルは、約2.2Mバイトくらいです。きょう試しに、その全ファイルをディレクトリ付きで圧縮してみたら、
自己解凍形式で → sxc100.EXE 845,298 byte
LZH形式なら → sxc100.lzh 825,842 byte
という具合に、1Mバイトを切るサイズとなりました。これなら、まだまだ作り込んでもフロッピーに収まりそう。(^o^)
ベクターが発行しているフリーウェア・シェアウエアのCD-ROM集を眺めてみたけど、サイズが1M、2Mのソフトは結構多く珍しくありません。このくらいのサイズなら、ホームページでも充分に配布できそうです。(^o^)v
■配布ファイルの一覧(例)
sxc\
sxc.exe 73,216 起動プログラム(mindexecw.exe)
sxc.mco 55,114 作成したプログラム(Mコード)
mrunt117.exe 158,720 Mindランタイム
TclTk-license.txt 2,249 Tcl/Tkライセンス条件のファイル
tcl81.dll 602,112 以下、すべてTcl/Tkファイル
tk81.dll 857,088
lib\
tcl8.1\
encoding\ ←ここのディレクトリにあるファイルは
ascii.enc 1,090 かなり不要な物が多い。
cp932.enc 48,025 最低限この2つさえあれば充分とか。
opt0.4\
optparse.tcl 33,620
pkgIndex.tcl 545
reg1.0\
pkgIndex.tcl 444
tclreg81.dll 15,872
auto.tcl 5,768
history.tcl 8,967
init.tcl 11,340
package.tcl 9,984
parray.tcl 861
safe.tcl 26,880
tclIndex 1,979
word.tcl 4,448
tk8.1\
bgerror.tcl 3,469
button.tcl 11,044
clrpick.tcl 19,869
comdlg.tcl 7,475
console.tcl 12,105
dialog.tcl 5,469
entry.tcl 15,255
focus.tcl 4,883
listbox.tcl 11,710
menu.tcl 33,751
msgbox.tcl 7,109
obsolete.tcl 781
optMenu.tcl 1,638
palette.tcl 7,333
safetk.tcl 6,250
scale.tcl 6,792
scrlbar.tcl 11,588
tclIndex 18,155
tearoff.tcl 4,565
text.tcl 26,332
tk.tcl 6,293
tkfbox.tcl 37,529
xmfbox.tcl 21,196
●開発するプログラムの機能によっては、これ以外のTcl/Tkファイルが必要な場合もあります。(今作っているSXCは上記のファイルだけで動いています)
1998-12-30 追加 ※この件でキリーさんとやりとりした内容は以下の通りです。(伝言板より)
サイズ削減
1998-12-08火 20:47.28 START
キリーさんへ
>例の、Tcl/TkのUNICODEエンコーディングテーブル削減の件ですが、
>mind7\lib\tcl8.1\encoding\ にあるテーブルのうち、
>ascii.enc
>cp932.enc
>の二つだけ残せば良いと思います。(いまのところ正常に動いています)
さっそくやってみました。
私のもその2つだけで問題なく動いています。
>これによる削減量は、972KBです。
これは効果絶大です!(^o^)
試しに配布に必要なファイル一式をまとめて圧縮したら、
800kちょっとになりました。
これならフロッピーでも配布できそうです。(^o^)
配布ファイルの目安になればと思って
ファイルの一覧表をホームページに追加してみました。
http://www.vtama.com/start/mgui/index.html
1998-12-06日 22:04.09 片桐 明 <http://www.rigy.co.jp>
STARTさん、こんにちは。
例の、Tcl/TkのUNICODEエンコーディングテーブル削減の件ですが、
mind7\lib\tcl8.1\encoding\ にあるテーブルのうち、
ascii.enc
cp932.enc
の二つだけ残せば良いと思います。(いまのところ正常に動いています)
あとはアーカイブしてどこかにセーブしてしまって良いです。
これによる削減量は、972KBです。
Re:Tcl/Tkランタイムの削減のこと
1998-12-05土 13:07.27 START
キリーさんへ
おはようございます。
こちらは昨日から天気がくずれて、きょうは雨です。
説明ありがとうございました。
>日本語のものはサイズがでかいですね。週末にでも詳しく調べて
>みます。
やったぁ。(^o^)
こういう情報は貴重ですよね。Mindの可能性が広がってきます。
よろしくお願いいたします。m(_ _)m
Tcl/Tkランタイムの削減のこと
1998-12-04金 10:41.56 キリー <http://www.rigy.co.jp>
STARTさん、おはようございます。
ようやく今日は晴れてすっきりです。
|さっそくlibフォルダの中を見てみました。
情報ありがとうございます。
|とくに、最もでかいlib\tcl8.1\encoding\の中には
|ずいぶん不要なファイルがありそうで、
そうそう、encodingのことですが、各国のUNICODEテーブルが
格納されているので、相当な量あります。
実は、Windows95にはUNICODEのエンコード/デコード機能が
あるので、プログラム言語側でテーブルを持つ必要は本来は
無いのですが、UNIX環境との互換性のために自前処理にしてい
るのではないかと思います。
絶対必要なものは、
ASCII(英語圏)←→UNICODE
日本語ShiftJis←→UNICODE
だけだと思います。ごていねいに、後者は新旧の2種類が入っ
ていますが、古いほうは新JISに相当する文字コードに対応して
ないので使われてません。(そんなら入れるなよ・・って思い
ますが・・)
日本語のものはサイズがでかいですね。週末にでも詳しく調べて
みます。
|lib\tcl8.1\http1.0\ <----これは使わないかも
|lib\tcl8.1\http2.0\ <----これも使わないかも
これはWebブラウザのプラグインとしてTcl/Tkを動かすときのもじ
ゃないかと思います。当面は関係ないですよね。
|lib\tcl8.1\reg1.0\
これは、レジストリを操作するのに使われます。Win版Mind
では、installer\ ディレクトリにあるソースが関係していま
す。当然ですが、Mind7パッケージのインストールはもちろん
のこと、ユーザさん独自のインストーラなど作ってレジストリ
に登録するような場合にはこれつける必要があります。
|lib\tk8.1\images\ <------これはまず使わない
確かに・・、不要みたいですね。
では。
Re:アプリケーションのサイズ
1998-12-04金 05:37.35 START
キリーさんへ おはようございます。(^o^)
(きょうはなぜか早起きなのだぁ)
さっそくlibフォルダの中を見てみました。
---------------
lib\tcl8.1\encoding\ <---この中のmacxxxxx.encというファイル群は
Mac用(?)なので不要
lib\tcl8.1\http1.0\ <----これは使わないかも
lib\tcl8.1\http2.0\ <----これも使わないかも
lib\tcl8.1\opt0.4\
lib\tcl8.1\reg1.0\
lib\tk8.1\images\ <------これはまず使わない
---------------
とくに、最もでかいlib\tcl8.1\encoding\の中には
ずいぶん不要なファイルがありそうで、
動作を確認しながら上の物や他のも外していったら、
なんといきなり500kくらい削れちゃいました!!
思いのほか小さくなりそうです。(^o^)
ありがとうございます。
アプリケーションのサイズ
1998-12-03木 23:16.34 片桐 明 <http://www.rigy.co.jp>
STARTさん、こんにちは。
そうですね、Win版MindはTcl/Tkランタイムまで配布する必要が
あるのでサイズがでかくなりますね。
lib\tcl8.1\, lib\tk8.1\ の下のほうにあるファイル群が
大きな割合を締めます。
このうち、1種は実行中にダイナミックにロードされる
Tkライブラリ、もう1種は、イメージなどのリソースです。
どっちにしても、アプリケーションが確定した段階で
使わないファイルが分かるはずなんですね。うまくすれば
ですが。そうすると小さくできるのではないかと思うのです。
では。
Re:Re3:カレンダー
1998-12-03木 16:26.58 START
てきとうさんへ
>ところで、このカレンダー完成したらどうやって配布するの。
そうなんです、そこが気になるところ。
ちゃんとしたカタチで配布するなら、例えば商品化するとかなら
やっぱりCD-ROMに書き込んで配布するのがいいのでしょうね。
でも私CDR持ってない。(^_^;
あと、ベータ版はFTPなどのサーバーでダウンロードするように
するとか?
いずれにしても割と大きなサイズになるので、ネックですね〜。
DOS時代のMindはサイズも小さく、実行ファイルひとつで
完結していたので、ちょっとしたツールとか、単機能のソフトづくり
に向いていたと思います。
そうした点で考えると、Win版のMindは逆で、機能がある程度多いソフト、
ある種、総合的なソフトづくり(?)が向いているのかも知れませんね。
その辺のことを確かめる意味でも、いま作っているソフトには
いろいろな機能を付けてみようと思っています。
今まで作ってきた似たようなものを全部1本のソフトに
集約するとか。
例えば、カレンダー、スケジュール、メモ、電話帳などなど。
Re3:カレンダー
1998-12-02水 17:37.30 てきとう <http://www.small-j.com/>
ところで、このカレンダー完成したらどうやって配布するの。
これが気になる所です。あると便利そうですね。
Re:re:カレンダー
1998-11-29日 15:49.11 START
キリーさん、どうも。(^o^)
>おー、いつの間にここまで(^^)。
>これいいですね。完成が楽しみです。
デスクのFMVで使ってますが、なかなか使えますよ。(^o^)v
持ち歩く軽快なWindowsノートが欲しくなってきました。
(Think Pad 235あたりがいいなぁ〜)
re:カレンダー
1998-11-27金 10:44.54 キリー <http://www.rigy.co.jp>
STARTさん、こんにちは。
どうもご無沙汰です。
|カレンダー(Win版)を作ってみました。(^o^)
おー、いつの間にここまで(^^)。
これいいですね。完成が楽しみです。