2008/01/12

Common Lisp : cl-win32ole を Google Code に登録

作りかけている cl-win32ole を Google Code に登録しました。
http://code.google.com/p/cl-win32ole/
最新ソースの取得は次のとおりです。
svn checkout http://cl-win32ole.googlecode.com/svn/trunk/ cl-win32ole-read-only

まだまだな感じですが、以下のコードくらいは動きます。
対象の処理系は SBCL です。
ちゃんとできあがってきたら common-lisp.net に登録したいな。

(defun ie-example ()
(let ((ie (create-object "InternetExplorer.Application")))
(with-slots (visible busy document) ie
(setf visible t)
(invoke ie :navigate "http://www.google.co.jp/")
(loop while busy do (sleep 0.5))
(with-slots (all) document
(let ((q (invoke all :item "q")))
(setf (slot-value q 'value) "Common Lisp"))
(let ((btnG (invoke all :item "btnG")))
(invoke btnG :click))))
(sleep 3)
(invoke ie :quit)))

4 件のコメント:

fanannan さんのコメント...

SBCLをインストールして試させていただきましたが、(require :cl-win32ole)の段階で ciruclarity detected というエラーメッセージが出てしまいました。初心者なので、まだまだ基本的な設定の仕方など勉強しなければならなさそうです。

Yoshinori Tahara さんのコメント...

お試しありがとうございます。私の作ったものがおかしい可能性は非常に高いです。
cl-win32ole グループ に出力されたメッセージやスタックトレースをのせていただけると非常に助かります。

fanannan さんのコメント...

はい、まだ要領が良くわかりませんが、そうしてみます。いま時間がないのでもうちょっとお待ちください。

Yoshinori Tahara さんのコメント...

fanannan さん。全然急ぎませんので、暇なときにでもよろしくお願いします。