「あなくつ」のおもちゃばこ

Blog

FreePascalでクロスコンパイル (再来)

いやぁ結局Linuxはダメだったんだけどね。書いておかないと忘れちゃうので。

FreePascalでクロスコンパイル (再来)」の続きを読む

タグ : 32bit,64bit,FreePascal,Lazarus,Linux,クロスコンパイル

2010/07/26 05:45:52 | Trackbacks (0) | Comments (0) | Technology

Delphiについていろいろ考え中

最近はLazarus使ってFreePascalでプログラム書いているのだけれど、せっかくクラスとか書いたら公開したいなぁと思うわけです。ところで、時代はDelphi 2010なわけで、Delphiで扱う文字列がUnicodeになっているわけです。そこで気にしたいのは、バイト単位で文字列を操作する部分はUnicodeとAnsiどちらでも動くようにするということ。

まぁぶっちゃけるとMIMEの処理を行いたいわけだけど、ISO-2022-JPの文字列をstringに突っ込むとどうなるんだろうとか、Base64のエンコード・デコードをしたときにデータを格納すべき変数のデータ型は?とかが、いろいろ分からないのです。データを全部TStream系とかarra of Byteか何かで処理すれば気にしなくていいんだけれど、そうすると文字列検索なんかが面倒になる。ちなみにIndyとかはarray of ByteをTBytesとして宣言して使っているっぽい。

まぁこんな感じで悶々と考えたわけだけれど、結論としてDelphi 2009以降がないとわからん!ってことであきらめました。とりあえずstringはすべてAnsiStringとして考えておくことにします。

タグ : Base64,Delphi,FreePascal,Lazarus,MIME,Unicode

2009/11/05 03:21:01 | Trackbacks (0) | Comments (0) | Technology

CentOS5でLazarusを動かす時

Indyなどの静的リンクのコンポーネントをインストールするときLazarusの再構築が必要になりますが、そのときにいくつかライブラリが必要だったのでメモ。

  • libX11-devel
  • gdk-pixbuf-devel
  • gtk2-devel

全部yumで入るからかんたんだね!

タグ : CentOS,Indy,Lazarus

2009/10/24 02:32:21 | Trackbacks (0) | Comments (0) | Technology

クロスコンパイルあきらめモード

もう諦めて、ターゲットOSにLazarusインストールしちゃった。あぁ結構いいところまで行っていたと思うんだけどなぁ...。

FPCのライブラリで完結するプログラムなら前回の記事までの方法でコンパイル可能。デバッグをWindowsでやってLinux向けにコンパイルってことも可能なわけです。が、Lazarusのライブラリがうまくクロスコンパイルできないので、IndyやMySQLなどの便利なコンポーネントが使えないわけです。

コンパイル中にエラーが出るんだけれど、単純にリンクエラーとしか出ないから何のライブラリが足りなくてエラーになっているのかがわからん。コンパイラのメッセージを全部出力してみても、Linuxライブラリを読み込んでいるプログラムの内部でエラーが起こっているようで、具体的なエラーが分かんなかった。

とりあえず今回は納期があるので、クロスコンパイルはまた後日チャレンジしてみよう。本家のコミュニティー関係で質問でもしてみようか...。

タグ : FreePascal,Indy,Lazarus,MySQL,クロスコンパイル

2009/10/15 20:54:33 | Trackbacks (0) | Comments (0) | Technology

FreePascal + MySQL

今日はFreePascalからMySQLへの接続をがんばってみた。

MySQLへの接続は、データベースドライバをラッピングしているコンポーネントがLazarusに付属しているので、それを利用することにする。簡単な使用方法は公式Wikiに載っているので、それ通りに実装すれば最低限は動作する。以下は若干気をつけなければいけない点。

  • 現在サポートされているのはMySQL 5.0.x。現状最新の5.1.xは接続してくれない。
  • 実行ファイルと同じディレクトリに(パスが通っているディレクトリもOKかも)libmysql.dll(Linux系ではlibmysql.soかな)をコピー
  • 日本人ならSET NAMESをしないと文字化けする。

とりあえず昨日のExtPascalと今日のMySQLを組み合わせてExtJS-FreePascal-MySQLがつながった。あとはプログラムを組んでいくだけだが、この先は世界的に見ても明らかに資料が少ない...。

と、とりあえずここまでやって、夜28時から作業し始めて(←そもそもこれが大間違い)朝が来た。

タグ : ExtJS,ExtPascal,FreePascal,Lazarus,MySQL

2009/10/05 06:10:05 | Trackbacks (0) | Comments (0) | Technology

  • Top
  • Software
  • Blog
  • Laboratory
  • Profile
Search
Feeds of Blog
Archives

Copyright © 2004-2024 Ana-Kutsu All Rights Reserved.