2008年6月20日金曜日

第一歩

WIN32 APIなら少しわかるので、SQLiteで配布されているwindows用のDLLをダウンロードしてエクセル2000のVBAから実行してみましたが、できません。
ネットで調べてみると、どうやらDLLを作る際にC言語の関数で規約を正しく(?ほかのアプリから使えるように)しないと無理との事。
今までWIN32のDLLでは問題なく使えてただけにちょっとびっくり。
あきらめようか。。。
再度ネットをしらべると同じ事を考えている方は世の中たくさんいるようで、挑戦してみます

とりあえず、SQLiteのサイトからソースをダウンロード。
バージョンは3.59。 
下記サイトを参考にしてやってみようかな。
http://www.tannertech.net/dev/sqlite3vb/
http://www.persistentrealities.com/index.php?p=18

VSやVCを買うお金はありませんし、仕事で使うのに自腹は面白くない。
というわけで、LCC-Win32もしくはbccを使おうかと思います。

で、途中まで作ってて思いましたが、あまりにもメンテナンスが大変そう。
SQLiteのバージョンがあがったら?
バグが見つかったら、あんなたくさんのソースから探す?
で、結論。
いきなりダイナミックリンクライブラリを作るのではなくて、スタティックライブラリを作って、リンクしてDLLを作るという2ステップをとることにしました。

コンパイラは何でもいいですが、ダウンロードしたファイルから「tclsqlite.c」だけ削除して、コンパイル。
名前も何でもいいですが、私は「sqlite359.lib」という名前を使ってスタティックライブラリを作成しました。
で、このsqlite359.libとsqlite3.hをdllを作るプロジェクトもしくはフォルダ(ディレクトリ)に持っていきます。

とりあえず、今回はここまで。
次回はそのスタティックライブラリが本当につかえるか実験。

0 件のコメント:

コメントを投稿