load-libraryの引数の話

 今頃気づいた色々な話とかwinapiとかの話。hellowin.lとか言うのをそういえば、winaipのサンプルと言う事で紹介されてたけど、アレ以来全く手を出してないとかで、忘れてたけどそれとかの続き。

■load-libraryでロードされてるのは何か
 load-libraryでロードされるのは(load-library "hogehoge.l")とかみたいに、その引数で指定するファイルなのは当たり前なんだけど、そもそも、hogehoge.lってどこかのディレクトリにあるわけだけど、引数はファイル名だけで良い。しかしどのディレクトリでも良いかと言うとそういうわけじゃなくて、適当にパスかいても駄目だったり。今までは適当に~/siteintと~/lisp位がデフォでそれ以外は駄目なのかなとか何も考えずに思ってたけど、チョット見たら、

*load-path*

とかいうのがあって、これで、loadする場所を指定してたりした。*load-path*の中には案の定というか

("C:/xyzzy/site-lisp" "C:/xyzzy/lisp")

こんな感じのが入ってる。

■違うディレクトリを指定するには具体的にはどうするか
例えば、xyzzy/lisp/wip/hellowin.lをロードするには

(load-library "./wip/hellowin.l")

こんな感じで、*load-path*で指定されてる所から適当にパスを書き加えてやったら普通に動いた。全然違うパスとかなら*load-path*に適当にパスを追加してやれば良いじゃないかと思ってた見た。

■ついでに流れ出xyzzyでHelloWorld
xyzzyのwinapiに入ってるhelloWorldっぽいhellowin.lをついでに動かしてみる事に。*scratch*に書いて、行末でC-jとかで実行。

(load-library "./wip/hellowin.l")
(hello-windows)

一応自分の所ではWindowが表示されて文字が表示される感じになる。
自分の感じでは、Windowを作ってxyzzyで何かするとかあんまり思いつかないので、これで何か表示させて遊ぶくらいしか今のところはない感じ。というか、Windowの表示よりもxyzzyのエディタのwindowに色々描画できたら何か利用方法とかも在るかもしれない。画像の表示とかもそれが簡単にできちゃうならある意味面白い事もできそうだけど、とりあえずやり方も分からないし自分が直ぐ出来る話じゃないので適当にスルーで。