いやぁ結局Linuxはダメだったんだけどね。書いておかないと忘れちゃうので。
「FreePascalでクロスコンパイル (再来)」の続きを読む
タグ : 32bit,64bit,FreePascal,Lazarus,Linux,クロスコンパイル
2010/07/26 05:45:52 | Trackbacks (0) | Comments (0) | Technology
最近は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
Indyなどの静的リンクのコンポーネントをインストールするときLazarusの再構築が必要になりますが、そのときにいくつかライブラリが必要だったのでメモ。
全部yumで入るからかんたんだね!
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への接続をがんばってみた。
MySQLへの接続は、データベースドライバをラッピングしているコンポーネントがLazarusに付属しているので、それを利用することにする。簡単な使用方法は公式Wikiに載っているので、それ通りに実装すれば最低限は動作する。以下は若干気をつけなければいけない点。
とりあえず昨日のExtPascalと今日のMySQLを組み合わせてExtJS-FreePascal-MySQLがつながった。あとはプログラムを組んでいくだけだが、この先は世界的に見ても明らかに資料が少ない...。
と、とりあえずここまでやって、夜28時から作業し始めて(←そもそもこれが大間違い)朝が来た。
タグ : ExtJS,ExtPascal,FreePascal,Lazarus,MySQL
2009/10/05 06:10:05 | Trackbacks (0) | Comments (0) | Technology