これは開発日誌なのでしょうか? 近況のかたまりです。

近況 02/11/12

ここに書く近況としては今日が最後となるでしょう。

うちの各プロジェクトの近況用ページを余所に作りました。そっちに移行します。

移行する理由は、

ということで、今後ともよろしくお願いします。
結局日記化するのかも。

近況 02/11/09

遅れましたが新版出します。vruby/swin/sample。

vrubyはタスクトレイ関係。あとスクリプト内rdを追加したような気がしています。ワケがわからなくなってきました。swinは某可変引数メソッドが引数の数をチェックしていなかったのでヘタするとIOT出してましたので修正。

タスクトレイものはサンプルも追加してあります。

ちょっとページの更新方法を(こちらの内部的に)変えたので、何かおかしかったらすんません。

いい加減、サンプルの説明ページも手動更新がめんどくさくなってきました。日英両言語ともページがあるし。って、しまった。やることが増えた...

近況 02/11/07

明日、死んでなければ、タスクトレイ関係のモジュール出します。

そうそう。VRUserMessageUseableが割り当てるメッセージ番号に変更が加わりますので、直に見ている方(いる?)はよろしくお願いします。D&Dやトレイアイコンがらみで本計画自身で特定番号を占有する必要が出てきたため。(D&D以外は占有までする必要ないかも。ですが)

rdeをwin32ole経由でぐりぐり動かすのはおもしろいですね。FormDesignerとくっつけてみたいです。

本計画、ActiveScriptRuby(mswin版一般か?)で動かすと、妙に起動が遅いですね。腹が立つくらい遅い。何故? なんかrequire 'vr/vruby'だけでも結構時間を食います。cygwin版rubyではそんなことありません。はて?

入ってもいないruby-talkのctl様からspam来ました。あと、私のアドレスをReturn-Path/Fromに2つ/To/Subject/Senderなどに散りばめたメールがブラジル発aol経由(詐称かも)でやってきました。書くに事欠いてこれかい。

linux機へのOSインストール難航。毎回NICの認識で転けますな。Plamo3.0でやってるのですが、cardbusのirqを取得できてない模様。webの検索結果だと対処不能か...カーネルのお仕事を減らす(pcmcia-csにCardBusも任せる)必要があるのか...

で、linux機が動かないと色々な諸々が動かないので、何かと減速中。なのです。 そもそもsourceforgeにアクセスできんし。(うちのWin98でssh経由cvsがちゃんと動かない)

近況 02/11/05

ちょっと他のことにばっかり手を出してますので、多分更新遅れます。

ここに書くのが適当とは思わないのですが、ruby-ebの次は外字と画像他のサポートを目玉にするつもり。手元では、画像と外字対応のcgiができあがっております。発音記号とかがちょっとバランス悪く表示されてますが...
フック関係でこれまでと互換性が無くなっているのが問題かも。(ていうか、現状のが動かなくなってたんで変えたんですが)

Linux Zaurus(SL-A300)の、「F11を押すだけでデータをPDAへ」に少しあこがれて、Palmで似たようなことをしようかと思ってたのですが、何かとデータサイズが問題になるようです。仕組みはvrubyのclipboard.rbでデータを吸い込んで、mysqlのDBに新規追加しに行く、というものでした。
しかしココで挫折せず、メモ代わりに使っているrwikiに書き込みに行くのはどうだろうと考え中。文書のrenameって出来たんでしたっけ?(後で整理するとき用)

LinuxBoxのほうが、./configureがちゃんと動かないほどゴミが多くなってきましたので、全入れ替え画策中。でバックアップ中なのですが、CD-R書き込み失敗多し。

と、本計画とは関係ない話題が続きました。ruby一般の話題を書くような日記システムでも入れてみるかなあという気がし始めてます。amritaのすごさはちょっと思い知ってしまったので、あれ使って(自分用の)何かを作ってみようか...

近況 02/10/26

なんか、少し前まであまりプログラミング出来なかった反動が出てるようで、いろんなものに手を出しまくりです。ちょっと拡散傾向が...

本計画の更新が先か、RubyEBの更新が先か。

いや、両方すでにネタは上がってるんですが

近況 02/10/22

win32oleの話は私の手に負えない気がしてきました。

mswin版のスレッドの問題、ActiveScriptRuby1.6.7.6ではcygwin版と同じになるように対処したswinを配布してくださったようです。さすがartonさん速い。ありがとうございます。
ただし、こちらで配布するものは暫くその対処はしません。ユーザが使ってるrubyがどのバージョンなのかわからないため。

win32oleの件、結論は「IUnknownからインスタンスを作るようにしてもらえないかなあ?」(ポインタの妥当性が気になりますが)と結論はほとんど出ているのですが、ちょっとあがいてみてます。勉強がてら、です。 「それ自体が目的になってはいけません」と怒られそうですが、仕事じゃないので許してください。

この問題、Cからしかアクセスできないインスタンス変数を使って拡張ライブラリからしか呼べないように...というのは意味あるのでしょうか。などと思考拡散中。

artonさんに聞いたらさっくり答えが出て終わったりするんだろうなあ。 でも「駄目です」だったりして。

こういうことをしたら(win32oleは例の改変済み)


require 'Win32API'
require 'win32ole'

DirectDrawCreate = Win32API.new("ddraw.dll","DirectDrawCreate","IPI","I")

ptr = [0].pack("V")
if DirectDrawCreate.call(0,ptr,0)!=0 then
  raise "ddraw creation fail"
end
iunknown =  ptr.unpack("V")[0]

ddraw = WIN32OLE.connect_iunknown(iunknown)
ddraw.RestoreDisplayMode      # なんでも良かった
このように
dd.rb:13:in `method_missing': Fail to get Dispatch Interface (RuntimeError) from dd.rb:13
怒られました。そうなのか...(勉強不足)

むう。コントロールはIDispatchが必須でない? (上のDirectXとは無関係です)
ということは「本件はこれにて終了」なのだろうか。とはいえ、IDispatchが無いコントロールにはメソッドもプロパティも無いということは、win32oleにインターフェースをつかませる必要もないのか。

COM関係の用語とかでわからない場合があったりするので邪道編を読み直そう。

近況 02/10/21

配布物無し。手元ではちょろちょろいじくっていますが...

むむ。なるほど。 手順がわかりませんが(Hoge is not a classとかエラーが出た)、謎なオブジェクトが出来てしまうということもありますし、記述がぬるかったですねえ。
DragDropRubyObject関係を使うとき、Marshal.dump()とMarshal.load()の対がきちんと動く状態において、異なるインタプリタでもドラッグドロップ出来ます、となるんでしょうか。

COMインターフェースをつかむ話。
OLEへのハンドルなりポインタなりを扱う 他のAPIがあるかどうか探してみたところ、EM_GETOLEINTERFACEなんてメッセージがIRichEditOleオブジェクトへのポインタを返すようですねえ。って、全然IUnknownと関係ないやん。結局win32ole側になにか作ってもらってもAtlAxWin専用ってことですかね(泣)。

ん? WM_GETOBJECTとかLresultFromObject()とか、olecc.dllの中に何かあるのか?

olecc.dllってなんか関係ない感じ。
COMの基底(?)がIUnknownってことで、IUnknownからオブジェクトを作るメソッドをwin32oleに付けてもらった方がいいのかなあ。

近況 02/10/17

昨日の続き。
win32ole.cに


static VALUE
ole_connect_iunknown(VALUE self,VALUE iun){
	IUnknown *pUnknown;
	HRESULT hr;
	IDispatch *pDispatch;

	pUnknown = (IUnknown*) NUM2UINT(iun);
	if(pUnknown==0) return Qnil;;
	hr = pUnknown->lpVtbl->QueryInterface(pUnknown, &IID_IDispatch,
                                             (void **)&pDispatch);
    OLE_RELEASE(pUnknown);

    return create_win32ole_object(cWIN32OLE, pDispatch, 0,0);
}
と
    rb_define_singleton_method(cWIN32OLE, "connect_iunknown", ole_connect_iunknown, 1);
を加えたりなんかすると、win32ole経由でActiveXコントロールのメソッドが呼び出せてイベントが拾えることを確認しました。結構感動。

でも、せっかくきれいにまとまっているWIN32OLEに対して、ポインタの生の値を受け渡すってのはどうかなあ。と、上のコードをwin32oleに要望してみるのも悩ましいので他の方法を探してたりします。でも無いかも。
IUnknownへのポインタを使ってWIN32OLEのインスタンスを作成する方法を知ってたら教えてください。と人頼み。

soleb便利。

ATL.dllって、win95/98/NT4にはデフォルトでは「入ってない」んですねえ。

手元のものだけの話。 トレイアイコンがらみを実装し、メニュー関係に手を入れました。なんか混乱してますな、この辺。

近況 02/10/16

いやあ、なんといいますか。
ActiveXコントロールって本計画で結構楽に使えた(表示できた)んですねえ...

すみません。ATLってよくしらなかったんです。AtlAxWinなどという便利なものを知らなかったんです。

ということで、以下に例を


require 'vr/vruby'
require 'Win32API'

class VRActiveXControl < VRControl
  Win32API.new("atl.dll","AtlAxWinInit","","I").call

  WINCLASSINFO=["AtlAxWin",0]
  alias :progId :caption
  alias :progId= :caption=

  def initialize
    self.progId = self.type::PROGID
    class <<self
      undef_method :progId=
    end
  end

  def caption() "" end       # ignore
  def caption=(arg) arg end  #
end

class UpdownAXControl < VRActiveXControl
    PROGID="MSComCtl2.UpDown"
end

class MonthViewAXControl < VRActiveXControl
  PROGID = "MSComCtl2.MonthView"
end

class MyForm < VRForm
  def construct
    addControl MonthViewAXControl,"exp","",0,0,400,500
  end
end

VRLocalScreen.start(MyForm)

COMのインターフェースをwin32oleに握らせることが出来れば(出来るのか?)それでOK?IUnknownはAtlAxGetControl()で拾えるらしい。
でもatl.dllってどこにでもあるものなのか...

近況 02/10/15

vruby側更新。なのですが、単にrdを書き換えただけなので動作には関係ないです。

書き換えたついでにvrubyのリファレンスの方も更新しておきました。スクリプト内のrdなどをrubyのスクリプトで処理してでっち上げたリファレンスです。一部情報が落ちてるような気がしますが、まあ致命的でも無さそうだし、それはそれということで。
(具体的には、includeしているモジュールの一覧が微妙に足りなかったり←ancestorsを見ているためとか?)

近況 02/10/14

vruby側更新

更新とは関係ないのですが、mswin版rubyおよびその親戚のスレッドの件で一つ。

現在、cygwin版rubyとmswin版ruby(とその眷属)では、swin.soのマルチスレッド時の動作が故意に変更されています。これはmswin版だとマルチスレッド利用時にひどい落ち方をするからなのですが、これは[ruby-win32:273]で解決できるようです。で、このパッチが当たっているruby(ActiveRubyScript1.6.7.5など)では、以下のようにして、マルチスレッドの制約をゆるめてください。


SWin::Application.thread_critical=false

こうしないと内部でスレッドを作成するライブラリ(net/http.rbなど)と一緒に本計画を利用するとおかしくなることがあるようです。net/http.rbの場合、timeout待ちまで固まってしまうとか。

パッチが当たっているかどうかわからない場合は上の操作は自己責任でお願いします。ひどい落ち方しますとだけ言っておきます。(うちのWin98だとOSごと落ちます)

あと、FormDesignerがsetMenuがどうとかで動かない、という報告をしばしば(といってもまだ4通)頂きます。解決済みなので、vrubyを更新してくださいね。

今回の更新はvrcomctl.rbのバグフィクス(定数名にWConstがついてないのがいました←エラー)と、oleのドラッグドロップ関係など。vrinstall.rbの小細工(9/30のやつ)も入ってるはずです。

OLEのドラッグドロップですが、フォーマットを自分で登録できるようにしました。これによる利点は、ドロップできる相手をシステムに判定させることが出来るという点です。
ちょっとサンプルが作りかけなのですが、tr.rbとかおいておきます。アイテムをドラッグドロップできるTreeView(作りかけ)と一緒になっててややこしくてすんません。DragDropRubyObjectFactoryを使ってドラッグドロップ用のフォーマットをシステムに定義し、それを使います。tr.rbのTestDnDClassが出てくるところから後を参照下さい。Marshal.dumpが出来るなら、好きなRubyのオブジェクトを受け渡せます。(別のインタプリタへも。←Marshalの形式が同じなら)
コンソールに文字出すのでtr.rbはrubywで利用不可です。

Treeviewのアイテムのハンドルってシステムで一意なんですねえ。しかもそのテキストを別のRubyインタプリタから拾えたりします。tr.rbを2つ起動して、互いにドラッグ&ドロップして、そのテキストを取得出来ました。

近況 02/09/30

9/21のMessageBoxの件、追試したら再現しませんでした。最近こんなんばっかりでいやになりますね。しょうがないので、MessageBoxにMB_TOPMOST付けて最前面に出しておきます。
で、手元ではvrinstall.rbを書き換えたのですが、配布物はとりあえずそのままにしておきます。またなんか他のことが起こったらイヤだし。(多分次のvruby更新で差し替わります)

近況 02/09/23

FormDesignerをruby-1.6.7で動かすと、どうもvrcontrol.rbのsetMenuで変なことが起こるようです。なんかsuperが自分自身を呼んでいるようで、一段へんなロジックをかませてやらないと駄目みたい。ruby-1.6.5やruby-1.7.3(2002-09-11)では発生しません。

VRMenuUseable#setMenuのsuper→VRMenuUseable#setMenu(同じ)、そのsuper→SWin::Window#setMenu のようです。真ん中の1段が不要です。まあ、こんな構造にしてるのが間違いなんですが...
rubyの挙動も不審ですが、適当にごまかしておきます。(vruby020923)

近況 02/09/21

vrinstall.rbをWin2000で動かしたら、インストール後に出てくるMessageBoxが赤の背景の後ろ側に行ってしまい、"OK"が押せないので固まるのでした。 ううむ。こりゃだめだ。

助田さんが「おどろいた」って書いてたのはこれかなあ。とっとと直さねば。でもNT系列は暫く(数日)触れません。

私の書いた英語のそこかしこにoverridedなんてのが居ますね。はずかすぃ。恥だ。

近況 02/09/11

vruby側更新

またまた鴫谷様がvrtimer.rb中のミスを修正するパッチをくださいました。ありがとうございます。今回の変更点は、タイマを1つも作成していないときにtimeralive?を呼ぶとエラー吐いてたものを、修正してnilを返すようになったことです。

あと、酒井様より、FormDesignerが動かなくなっているという件で指摘を受けましたので、ちょっぴり修正してあります。VRMenuUseableを1つ書き足しただけなんですけど。

resolv.rbw私のところでは手詰まり。一瞬winipcfg /all /batchでテキストに吐く、とかを考えたのですが、win98以降でしか使えないらしいですねえ。そもそもwinsock自体、dllが、winsock.dll/wsock32.dll/ws2_32.dllと3種類もありますが...

近況 02/09/06

vruby側更新

鴫谷様が、vrhandlers.rb中のいくつかのモジュールでVRMessageHandlerをincludeし忘れているのを指摘して頂き、パッチを頂きました。またVRCtlColorというWM_CTLCOLORを扱うモジュールも送付してくださいました(contrib/vrctlcolor.rb)。ありがとうございます。 vrhandlers.rbからrequireしてますので、vrhandlers.rbをrequireすれば使えます。

また、サンプルも送付してくださったのでサンプルに追加しました。

resolv.rbの件ですが、Hostsファイルは事実上決めうちになっちゃいますね(起動ドライブの変更には耐えますが)。どうも、ちゃんとした資料が見あたりません。
ところで、Win2000でもMSが決めうちっぽいことを書いてます。450行目からの件は、あれ?私、行番号間違えたんでしょうか...
しかし、こういうのを見ると、非常に不安になります。内容的にはちょっと違いますけど。

文書といえば、このサイト(vruby関係)の文書も古くなっちゃってますねえ。いろいろ。

近況 02/09/05

resolv.rbの件、チャレンジして情けないところで今日は頓挫しました。

hostsファイルのパスはこんなので拾えるんじゃないでしょうか。NT系もそうですが、 ファイルがそもそも無いことがあります。

Win32::Registry::HKEY_LOCAL_MACHINE.open(
       'Software\Microsoft\Windows\CurrentVersion') do |reg|
   path = reg.read_s_expand('SystemRoot')
end
DefaultFileName = File.join(path.gsub(/\\/, '/'), 'hosts')
resolv.rb:450行目付近からの分は、 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\SearchListの代わりは HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD\MSTCP\SearchList でいいんじゃないでしょうか。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\NameServer(DhcpNameserver) の代わりは HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD\MSTCP\NameServerv でいいんじゃないでしょうか。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Domain(DhcpDomain) の代わりは HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD\MSTCP\Domain でいいんじゃないでしょうか。
手元のWin95/98/98SEにはエントリ有りました。ただ、全部LAN接続の設定が有るマシンなので、ダイアルアップ専用とかだとよくわかりません。MSのサイトとかでちゃんと調べないと駄目かな。でもwebの検索結果を見る限り、みんなこれで満足しているらしい。

手元ではresolv.rbいじってるうちにbegin/rescue/endがぐちゃぐちゃになっちゃって動かなくなっちゃったので、動作確認は取れてません。ああぁ....

Googleなどで、MSTCPに、NameServer/SearchList/Domain などのキーワードを付加して検索をかけると参考になるコードがいろいろ出てきます。

Practical Rubyかあ...SJISが扱えないのはやっぱりScintillaベースで非日本語圏の作者だから?。

Kconv::tokcode()の逆方向のKconv::kcodeto{sjis,euc}というと、tosjis,toeucから漢字コードの自動認識をカットということ? Kconv::tojis(str,incode=Kconv::AUTO) とか省略可能引数付けちゃうとか。
$KCODEとKconvって、Kconv::JISを $KCODEの"J"とかと結びつける機構とかないし、密接な意味的関係の割には、いまいち関連が薄いかも。
とかぶつぶつ言ってるうちにコード書いてポン、とかやればいいんですけど。

近況 02/09/04

助田さんとこのsoleb試してみました。いろいろわかっておもしろいですね。これでCOMオブジェクト調べるのにVB使わなくてすむかも。
それはさておき、PaneFrame系を組み合わせて使ったときの挙動がちょっと変かも。調べないと。

resolv.rbですが、うちのWin98SEは、DNSサーバの設定が HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\MSTCP の NameServerに、カンマ区切りで入ってました。98とNTを区別するか、rescueして何とかするか、となるのでしょうか。
もっともうちの環境が汎用的なのかどうかも不明ですが。

よく考えると、うち(と、私が扱える某所の某範囲)にはWin98初代もWin95もWinMeも居たな...

近況 02/09/02

swin側更新

鴫谷様より、SWin::LWFactory#newfont のweightの扱いをミスっているとの指摘とパッチを頂きました。で、swin側の更新です。パッチありがとうございました。

いい加減raaを更新しておこう。ちょっと放置しすぎか。

resolv.rb/registry.rbの件、NT系列だとそれっぽく動くんですね(実は何故かTimeoutしましたが)。やはり現状ではWin9x向けに手を入れないと駄目ですか。

近況 02/08/31

更新はなしです。

[ruby-dev:16289]から取ってきたresolv.rb/registry.rbは全然動きませんでした。古い?

(略)/win32/registry.rb:512:in `new': 指定されたファイルが見つかりません。 (Win32::Registry::Error)
        from (略)/win32/registry.rb:592:in `open'
        from (略)/resolv.rb:48
        from rtest.rb:1:in `require'
        from rtest.rb:1

ま、ぼちぼちと。

そういや、kconvに、Kconv.tokcode(string)があると便利では無かろうか、と思ったのを思い出しました。SJISな世界とEUCな世界を行き来することがあるので。

近況 02/08/30

swin/vruby側更新

swing側、鴫谷様がsetFontが動かない件のパッチを送付してくださいました。これ、かなり致命的なところのバグです。今まで問題頻出していてもおかしくないレベル。
内容は、sendMessageのwparam/lparamにBignumを渡すとちゃんとパラメータを送らない、というものでして、0x40000000以上の数値は送れなくなっていました。

どうもWin9xではハンドルなどがBignumの数値になることは無いか少ないらしく、うちではあんまり問題なしでした。

なんか誠に申し訳ない限り、というかんじ。

あと、kcodeのチェックははずしました。

vruby側、VRTimerがVRMessageParentRelayerに伴う改変でおかしくなっていたので修正しました。

RubyのWindows関係、充実してきましたねえ。私のところのRuby on Windowsも古すぎの感が。一部NotFoundですしね。

resolv.rbなどがWin9xでの試験がまだというのは、Ruby使いでWin9xの人って少ないのでしょうか。うちはWin98SE(SEになりました)なので、とりあえず入手してみよう。

実は今週、点滴生活。

近況 02/08/28

ぐえ、1ヶ月以上空いてしまった。

国内国外からの(国外の方が多い...多いと言っても絶対的には少ない)メールにのんびり返事する今日この頃です。ところで私はKcode_check()なんていうSJIS-Checkのつまらんコードをswinに組み込んでしまったのでしょうか。消します。

といいつつ、現在半病人なのでしばらくお待ちを。

あと、VRMessageParentRelayerがらみの作業ミスがあるようです。鴫谷さま、報告ありがとうございます。setFontがちゃんと動かない(不安定)、という報告も一緒に頂いておりますが、こちらは現在調査中。

近況 02/07/27

VREditで使っていたEM_SETSELの仕様がWin16のものとWin32で異なっており、Win16の仕様でコードしてたのでそれを修正しました。

近況 02/07/20

vruby側更新。VRMessageParentRelayerがらみです。あと、DDE関係がいつの間にか腐っていたのを修正。やばめだなあ。このへん。

nameが"hoge"のウインドウのハンドラself_handlerを親にリレーすると、親側のハンドラがhoge_handlerになります。今まではhoge_self_handlerだったので注意してください。
この改変はしない方がいいかなあ。ちょっと悩むところ。ある意味直感的ではありまして、そのへんが魅力。

他、メソッドの引数でもらったオブジェクトをdupもfreezeもせずにそのまま保管してるところが数点。いけませんな。

swin側、cvsのバージョンがワケわからない状態になってきたので、マージしようと思ったら、余計にワケのわからないことになりました。cvsよくわからん。(一応復旧)
そもそも、ファイルの改行コードがCRLFなのよね。

近況 02/07/17

えーと。(物忘れが激しい)

Wayne様よりの情報で、VRDropFileTargetでVRMessageParentRelayerがちゃんと動かないとのこと。調べてみると、他にもいろいろ動かなさそうなものがあります。 全部直してから更新します。

原因は、メッセージハンドラを呼び出す前にRelayされちゃうのがあることです。 (リレーさせない機構はあるので、それを止めるのはすぐなのですが) 元々、send("handler") if respond_to?("handler")みたいなコードが結構散らばってましたので(これが一因)、ひっくるめておきます。

Exerbいいですねえ。 作ったRubyスクリプトを余所に持っていくとき、Rubyの環境一式持って行かなくて 良いというのは、実際上かなりのありがたさがあります。下手をうった場合は 機会の持ち主に説明が延々と必要となりますし。
昔、失敗しましたが、Rubyインタプリタと拡張ライブラリを全部静的リンクして、リソースとしてスクリプトを持たせようとしたことがありました。(軟弱に、loadとrequireだけに手を入れる)
って、転けた話を書いてもしょうがないのですが、いやはやありがたいです。

swinの分割化もやらねば。(自分用メモ)

英名のgiven nameの方に様を付けるって変だなあ。我ながら

Ruby on Windowsのページはかなり古くなっちゃいましたね...
と書きつつ修正してないのですが

近況 02/07/04

vruby側更新しました。

Wayne Vucenic様より、tooltipがWinNTと2000で時々落ちるということで原因追及と修正をしてくださいました。どうも本計画(vrtooltip.rb)が未設定の構造体の内のバッファにアクセスしてしまっているらしいのですね。さて、なぜうちのシステムでは全然落ちないのでしょうか。さすがWin9xというべきか、何かOS側の実装が違ったのか... とにかくありがとうございます。(と日本語で書いてしまう無意味←まあメール送ったしいいかな←でもやっぱり意味無し)

最近またHTML(とSGMLの一族)を読み込む日々です。tagiterつくっててよかった。
で、それのビューアとして本計画の登場なんですが、tagiterだと表のアクセスが面倒ですな。特にCOLSPANとかついてると。他人さま作のいいものを探しますか...

近況 02/06/30

Wayne Vucenic様より、サンプル(fontclock.rb)の修正を頂いたので反映しました。 ってことで、サンプルを更新しました。マメにチェックしてくださってるようです。ありがたいです。

近況 02/06/29

なんか最近疲れやすいので、あんまりコンピュータさわってなかったりして(仕事以外)

Wayne Vucenic様からのレポートにより、バグを一つつぶしました。swin更新です。

未代入の(というか変数名間違えてたんですが)変数をNUM2INTしてたもんで、時々rubyがエラー出してたようです。(OLEドラッグスタートのところ)
で、それを修正しました。 Wayne Vucenic様ありがとうございます。って日本語で書いても無意味かな。でも英語の分量を増やしたくはないし。

気がつくと残件山積み。とは思いつつ、ぬるい方に進む毎日

近況 02/06/10

ということで、swin/vruby/sample更新しました。

基本的にはOLEドラッグドロップ関係です。サンプルもあります。nakkaさんのところのソースをそのままにしようかと思ったのですが、cygwinなどを考えると結局編集せざるを得ず、どうせ改変してしまうならってことでファイルを1つにまとめてしまいました。

あと、VRListboxの複数選択用に、eachSelectedなどのメソッドが追加されています。

いろいろと疲れていますので、ファイルが欠落してるとかありましたらすんません。怒りのメールでもください。

最近swinの肥大化が進んでますので、extconf.rbで組み込む機能を選択できるようにしようかと思ったのですが、そこまでたどり着けませんでした。$CFLAGSに細工するだけ(予定)なんですけどね。でかくて困ってる方はいらないファイル消して、swin.cから該当するInit_hoge()を消してください。

密かにswinにヤバ目なメソッドが追加されていますが、とりあえず気にしないでください。

近況 02/06/03

「減速中」の看板をはずしたら余計に更新が遅くなった気が。一月空けてしまいました。

本計画関係では、現在、OLEドラッグ&ドロップ関係を実装中です。というか、nakka氏のところにあったソースをそのまま使ってるだけなんですが、「自由に利用したり組み込んだりして構いません」ってことなので自由にさせてもらってます。ありがたい話です。もう少しいじったら公開するでしょう。きっと。
(cygwinのgccではサンプルのコンパイルなどに、ちょっと手直しが必要でした)

それにしても最近SPAMとVirus付きメールが多いですねえ。それにしても、ちゃんとこっちの環境で読めるメールにしてくれ。charset="DEFAULT_CHARSET" ってなんじゃ?

それから、返信無用とメールの最後に書いた人、返信しないけど、それが便利だと思うんだったら自分で作ってくれ。
と、まじめに反応するぞ。( ̄<_ ̄)クフ (←まね)

PalmSyncにも残件がぁぁぁ(4月に、って言って、今は6月)

5/6のTVチューナーカードの件は無事動くようになっております。と追記。

近況 02/05/06

計算機をさわるという意味では、TVチューナーカードと格闘しただけだったこの連休。Win98無印だとだめなのね〜。箱にはWin98/Win98SEって書いてあったのに、音が出ない。詐欺だ。

多分Rubyのサイトを回っていると思われる人で、Exploit-MIME.gen系のウイルスに食われている人がいます(Klezなのかなあよく知らんけど)。Return-Pathはfwke5***のinfowebで、 Fromが水道技術研究センターさんの代表、発信元端末の名称がLnodでした。メールサーバはniftyのを利用。お気づきの人はチェックしてね。(添付が某サイトのhtmlファイルだったのでココに書きます)

ウイルスメールをpingの代わりに利用するのもお控えください(笑)。

近況 02/04/12

久しぶりに更新。swin側、Application.changebkbrush(classname,hbrush)で、ウインドウクラスの背景色を変えます。アイコン変更は今後の予定。

COLOR_WINDOW=15
SWin::Application.changebkbrush(nil,1+COLOR_3DFACE)

vruby側、comctltest3.rbでアップダウンコントロールをクリックしていたときに落ちてしまう問題を対処。アップダウンコントロールもスクロールバーのメッセージを吐くのですが、無視する設定をしていなかったためおかしなコトになっていたのでした。

あと、とんでもないことに、「ここ数年」デフォルトの背景色の設定を勘違いしていました。ウインドウクラスの背景色などのシステムカラーを設定するときには、HBRUSHの代わりに(COLOR_HOGE+1)を設定するはずのですが、+1をずーっと忘れていました。
なので、デフォルトのSWin::Windowの背景色はソースを見ると「COLOR_WINDOW」で、実態は違っていたようです。多分COLOR_3DFACE系の何かの色なのでしょう。
よって、今後は「COLOR_3DFACE」を仕様とし、現状維持とします。sourceforge側のソースではCOLOR_WINDOWと書いてあったところが(1+COLOR_3DFACE)に書き変えてあります。配布物が書き変わっていないのは配布物を固めてから気づいたから。

なんで背景色の件が出てきたかというと、WindowsXpで変な色になったからなのでした。

配布物はlzhですが、zipも追加。英語のページからはリンク張ってます。要望につき。
でもうちはlzhが主体なのよ...

しかしいやはや。リハビリはなかなか進みません。

近況 02/04/02

一応復活しました。が、リハビリが必要です。様々なものが全然頭の中でつながってません。

なんかまた作るかなあ。と思うのですが、その辺の発想の流れにもリハビリが必要そうです。

というような、今回はご挨拶まで

近況 02/03/06

しばらく音信不通になります。

知らないうちに、ひな祭りを過ぎてしまったなあ。


もっと前の近況