8

いくつかの形状 (主に線) を描画するためのアプリケーションを開発しました。スケッチをファイルに保存できるようにする必要があります。デルファイにはオブジェクトの永続化のためのルーチンが組み込まれていることは知っていますが、使用したことはありません。

他のオブジェクトへの参照も持つオブジェクトを永続化する必要がある場合、オブジェクトの永続化を使用できると誰かに教えてもらえますか?他のTLineオブジェクトなどに接続できるTLineオブジェクトがあります.

この機能を使用するか、オブジェクトをファイルに保存/ファイルから読み取るカスタム プロシージャを作成する方がよいでしょうか。

4

6 に答える 6

5

組み込みのオブジェクトの永続性は、主にコンポーネントを dfm にストリーミングするために設計されています。スケッチを永続化するために必要な作業は、そのメカニズムからはあまりメリットがありません。

カスタムスキームを考え出す方が良いと思います。

于 2008-12-28T20:37:14.560 に答える
3

TIオブジェクト永続化フレームワーク(tiopf.com)を使用しています。概要はhttp://tiopf.sourceforge.net/Doc/overview/index.shtmlに書きました。

オブジェクトとリストをxml、csv、データベースなどに保存できます。子オブジェクトを自動的に処理します。

興味がある場合は、より多くの機能(部分的なD 2009サポートを含む)があるため、sourceforgeダウンロードではなくsvnバージョンを使用してください。

于 2008-12-29T04:19:41.007 に答える
3

私が過去に使用した方法の 1 つは、渡された IXMLNode に追加するカスタムの「保存」ルーチンと、渡された IXMLNode から読み取る新しいコンストラクターを記述して、オブジェクト プロパティを XML ファイルに格納することです。コンポーネントをノードとして保存し、プロパティを属性として保存します (プロパティが別のオブジェクトでない限り、それは子ノードになります)。

Delphi Jedi プロジェクトには、コンポーネント ストリーミングを処理するルーチンがいくつかあると思いますが、XML ストリーミングのほとんどは手作業で行われていたため、それらを直接使用していません。私のオブジェクトは非常に単純で、一握りのプロパティ。

于 2008-12-29T03:15:15.897 に答える
2

Java の有名な hibernate know を使用することもできます。

ここで見つけることができる Delphi ポート: dHibernate

于 2009-01-03T00:32:12.357 に答える
2

JSONは、オブジェクトを格納するための新しい非常にコンパクトな方法です。Delphi では、 SuperObjectlkJSONの 2 つのライブラリを使用できます。

于 2009-03-21T18:28:48.417 に答える