4

私はデルファイに不慣れで、デルファイの基礎となるテクノロジーについてもっと学び、その過程で私の仕事で何か役立つものを作る方法を探しています。あなたの心を話すために...

dfmsに対してある種のスキャフォールディングを作成したいのですが、アイデアは次のとおりです。Firebirdデータベーステーブルに基づいて生成したい-明確に定義されたドメインを使用して-フォームの大部分。

アイデアが単純すぎるか、難しい全体像が見えないと思います。うまく再発明しないようにしています。グーグルで調べましたが、良い結果が得られなかったので、誰かが私に方向性を与えることができればここで私は最も感謝するでしょう。

更新: @Larry Lustigありがとう、私はデルファイフレームワークについて考えていませんでした-私はそれらを調べるつもりです。

フォームオブジェクト/処理とデータベースメタデータについては知っていますが、デルファイオブジェクトをHDにセリライズすることに慣れていません。シリアル化とdelphiフレームワークに関するヒント(オープンソースなので、見てみましょう:))は大歓迎です!

4

2 に答える 2

4

面白いアイデアですね。

DFM フォームを手動でディスクに書き込む代わりに、次のアプローチを使用します。

  • メタデータを調べて、テーブルの構造を取得します。
  • TForm を作成し、表示する列ごとにコントロールを追加します。
  • Delphi のビルトイン シリアル化を使用して、フォームをディスクに保存します。

私はこれを自分で行ったことはありませんが、このアイデアを使用して機能するランタイム デザイン フレームワークが多数あります。

于 2010-08-02T14:31:01.483 に答える
0

This would only make sense if you need to build a lot of forms at design time. You can't use the DFM's in your executable's. If you want to build the forms runtime, I suggest you go with Larry Lustig's answer.

We have taken this one step further... we don't build forms. We only write the classes, add some attributes and create the forms at runtime. Users can change this preset form layout during runtime and save their own layout. Data binding between the controls and the database is done with the excellent tiOPF framework. Maybe something you can consider to use as well.

于 2010-08-02T19:35:04.663 に答える