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

Blog

現在進行中の開発案件

いま、こんな感じです。

画面

完成したら見せてもいいのだけれど、まだ見せれない部分もあるので。ぼかしつつ...。

やっとExtJSにも慣れてきた感じ。ExtJSのドキュメント見たり、ExtPascalのヘルプ見たりとあっちこっちを見ながら実装するという結構大変な作業だわ。サーバー側をPHPにしておけばよかったと何度思ったことか(笑)。

しかーし、その代わりレスポンスはめっちゃ早い!まだローカルでの接続しかしていないけれど、データベース接続してデータ読みだしたりしながらインターフェースのJavaScriptを構築してブラウザに送出するまで20msくらい(Core2 Duo 2.66Ghz / Memory 4GB / Windows Vista)。ext-all.jsを読みだすのでも10msくらいかかっているから、それの倍ちょっとで処理できている感じかな。

まだ若干マスターしきれていないのがDataStoreのあたりかな。ExtPascalでラッピングされているので、DataStoreの非同期通信をどう受け取ればいいのか調査中。

タグ : ExtJS,ExtPascal

2009/10/21 21:53:34 | Trackbacks (0) | Comments (0) | Technology

ExtPascalでオブジェクトの属性を変更するとき

ずっと2週間くらい悩まされてきたことがやっと分かりましたよ。

ExtPascal内で動的にオブジェクトの属性を設定するときは、プロパティを参照するのではなく、メソッドで設定を行わなければならない。例えばボタンの有効状態を無効にしたければ、Button.Disabled := Trueではなく、Button.disable()を呼ばなければならないということです。

まぁよく考えてみれば、純粋にJavaScriptでExtJSを使うときもメソッド経由にしないと状態を設定することができないから当然と言えば当然なんです。Delphiのようにプロパティが暗黙にセッター・ゲッター関数になったりしていないから、動的に属性を変更するときはメソッドを呼ばなければいけないんですね。

基本的にExtPascalでは生成したオブジェクトのJavaScript内での名前しか覚えていないようです。そのためExtPascal内でpublicな変数でも、直接属性を設定するとアクセスエラーになるようです。

それにしてもコードでコンポーネントを配置していくのは面倒だなぁ。DelphiのフォームビルダがどれだけUIを設計する作業を簡便化しているかよく実感できる。

タグ : Delphi,ExtJS,ExtPascal,JavaScript

2009/10/20 20:48:24 | Trackbacks (0) | Comments (0) | Technology

ExtJS 3.0のAPIドキュメント日本語版が公開されたらしい

今ハマり中のExtJS3.0の日本語APIドキュメントが公開されたようです。いやぁ本当助かります。

公開したのはxenophyという会社で、xFrameworkPXというPHPのフレームワークを開発した会社でもあります。この会社のしゃちょーさんは、僕がPHPの高速化について調べているときにたまたま見つけたブログの執筆者で、PHPやDelphiなど似たような言語を使っているというだけで、(勝手に)ちょっと注目している方です。

ということで引き続きExtPascalがんばって使い倒しますか。

タグ : API,ExtJS,ExtPascal

2009/10/17 23:55:51 | Trackbacks (0) | Comments (2) | 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

ExtPascalへの道のり

ExtJS + FreePascalを使うためのメモ。環境はWindows Vista 64bit + FPC 2.2.2 + Lazarus 0.9.26.2 beta + ExtJS 3.0.0。

基本はオフィシャルページのGettingStartedページWebServer_Embeddedページを参考にしている。

  • lazarusをインストール(Free Pascalもインストールされる)
  • とりあえずApacheをインストールして、適当に設定
  • ExtJSをダウンロードして遊んでみる
  • [ドキュメントルート]/extディレクトリを作成し、その中へダウンロード及び展開したExtJSのファイルをコピー
  • サーバー統合型ExtPascalを構築するならIndy10をインストール
    • ダウンロード及び展開したIndyのファイルのうち、fpcディレクトリの中身をlazarusディレクトリにコピー
    • [Lazarusルート]/components/indyディレクトリを作成し、lazarusディレクトリ内のファイルをコピー
    • indylaz.lpkをダブルクリックでLazarusを起動
    • 「Package」ウィンドウの「Compiler Option」ボタンをクリックして「Other Unit Files」項目に「./」を追加(良く分からないけど、これしないとコンパイルエラーになる)
    • 「Install」ボタンをクリックしてコンパイル&インストール
    • コンポーネントタブにIndyが追加されていればOK
  • ExtPascalをダウンロードし、適当に展開
  • ExtToPascal.dprをコンパイル(このときコード内で定数(const)に代入しようとしているコードがあるので、これを変数(var)に置き換える)。コンソールアプリケーションとしてExtToPascal.exeができる
  • ExtToPascal.exeにコマンドライン引数として「[ドキュメントルート]/ext/docs/output」を渡して実行(ここでExtJSのバージョンにあったUnitファイルが作られるのかな)
  • ExtPascalSamples3.dprをコンパイルしてみる(embeddedの場合はリポジトリにあるExtPascalSamples3_embedded.lpiをダウンロードしてdprと同じフォルダにコピー&コンパイル)。
    • embeddedの場合はTIdExtApplication.Createをしているところで待ち受けポートを変更できる
  • コンパイルして出力されたExtPascalSamples3.exeを[ドキュメントルート]ディレクトリ内(extディレクトリと同じ階層)へコピーして実行してみる(embeddedの場合はhttp://[サーバー]/Home)
  • ExtJSのサンプルが表示されればOK

と、とりあえずここまでやって、夜11時から作業し始めて朝が来た。

タグ : ExtJS,ExtPascal,FreePascal,Indy

2009/10/04 07:25:17 | Trackbacks (0) | Comments (0) | Technology

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

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