上へ
開発メモ2004/04/04 Lua for DelphiLua デバッガ作成中。実行、ステップ実行、中断、中止まで実装。あとは、ブレークポイント設定、変数ウォッチ、lua スタック表示、ローカル変数、グローバル変数、呼び出し履歴あたりか。 エラー処理について ・lua から呼び出される関数中で Delphi 例外を発生させると Delphi のエラー処理ルーチンで処理される。この場合 lua インタープリタは状態が不定になるので再度 lua_pcall するには lua インタープリタの再確保が必要。 ・lua_error を使うと lua_pcall が終了する。この場合はそのまま lua_pcall 出来る。 Func1 を引数3つ取る Delphi 側の処理として、Lua に登録するのはこんな感じが正しいのかも知れない。
いちいち try except が面倒な場合は毎回 lua_open, lua_close するという手もあるかも。 lua は ガベージコレクトタイプだから、予期せぬ終了の仕方をしても lua_close で全オブジェクトが開放されると思うんだけど。
2004/04/05 Lua for Delphilua 日本語化パッチのパッチ(*)適用、ブレークポイント設定、lua スタック表示、ローカル変数、ステップオーバー実行実装次は、変数ウォッチ、グローバル変数、呼び出し履歴あたり。 (*)
2004/04/06 Lua for Delphiコンパイルエラー表示、変数ウォッチ実装、変数ウォッチはイマイチ。ウォッチ式を ローカル変数 lua_getlocal 、グローバル変数を luaL_loadbuffer, lua_pcall で実装したが、これではローカル変数は式で評価できない。例えば、ローカル変数 a があったとして、a は表示できるが、a + 1 は表示できない。eval のような関数があれば良いけど。 真面目にやろうとしたら新規 lua_open して、現在のローカル、グローバル変数をグローバル変数として登録し直して lua_pcall しかないか? 2004/04/11 Lua for Delphi変数ウォッチは妥協、グローバル変数、呼び出し履歴、カーソル位置まで実行、呼び出し元に戻るまで実行、評価変更、実装パフォーマンスチューニング、DLLの標準出力の取得をパイプ経由ではなく標準出力関数の上書きにする。lua ソースコードのコメントを見る限り、print 関数については上書きが推奨のようだ。 2004/04/18 Lua for Delphi配布セット作成中。readme.txt(作成中・・・) SJISパッチ(完了:lua 日本語化パッチのパッチの一括パッチ形式) サンプル1:hello world(完了) サンプル2:ユーザー操作記憶(完了) サンプル3:タートルグラフィックス(作成中・・・) サンプル4:Lua デバッガ(完了) |