1

こんばんは!

私は現在、Firemonkey/FMXを使用してさまざまな機能を備えたデスクトップインターフェイスを設計しています。これらの機能の1つは、「パネル」内に情報を表示する機能です。この「パネル」は、titlecontext(両方tlabel)、およびimagetimage)で構成されます。アプリケーションとの対話を希望する「アプリケーション」ごとに1つのパネルが作成されます。各パネルは、作成するプロシージャを呼び出すときに割り当てられた変数を使用して作成されたときに名前が付けられます。これは、他の開発者がパネルに簡単にアクセスできるように設計されていますが、これが悪用される可能性があるため、に切り替える可能性がありbindingnameます。

変数に基づいてこれらのパネルの1つを作成するコードと、ネストされた反復.childrenFindComponentループに基づいてラベルと画像レベルに型キャストするコードをすでに作成しました。ラベルのテキストを自由に変更できます。このメソッドを使用した(を使用した)画像(.loadfromfileつまり、コードは機能します)。ただし、この機能を他のアプリケーションや開発者に公開して、これらの「パネル」の1つに実際に情報を表示したいので、共有メモリを使用する必要があります。

問題は、私が本当にそれを理解できないということです。私が読んだすべてのことは、SharedMemの使用が簡単であることを意味しますが、私はそれをまったく理解できません。XE2に含まれているサンプルの簡単な例でさえ、私を混乱させます。残念ながら、IPCを把握しようと何度も試みたにもかかわらず、IPCをまったく理解していません。inifilesを使用することはできますが、柔軟性が必要だとは思いません。私は検討GlobalAtomTableしましたが、SharedMemと同様に、Delphiでリークが報告されていることは言うまでもなく、それも理解していません。

基本的に、私は最初に共有メモリの領域を作成する関数/手順を探しています。result次に、その共有メモリから文字列を読み取り、他のプロシージャまたは関数を介してアクセスできるように出力する関数を本当に探しています。他のプロジェクトと互換性を持たせたいので、別のアプリケーションから共有メモリに値を書き込むためのプロシージャ/関数も探しています。

私が言ったように、私はIPCやSharedMemを理解していません。そして、より高度なレベルまで、自分で仕事をしたり教えたりできる基本的な出発点が本当に必要です。私が学びたいと思っていることを正確に説明するステップバイステップのウォークスルーをいただければ幸いです。私は、コードの塊を取得するのではなく、これを学びたいと思っています。これは、私が今までにIPCで作業する必要があることをほぼ前提としているためです。

4

1 に答える 1

4

CromisIMCまたはIPCコンポーネントを見てください。

IMCはtcp(indy)を使用したマシン間通信用であり、IPCパイプという名前のウィンドウを使用したプロセス間通信用です。

どちらも同じクライアント/サーバーメッセージシステム(パケットベース)を使用しているため、アプリケーションを実装するためにWindowsのドキュメントを詳しく調べる必要はありません。

上記のリンクにある例に従うだけで、すぐにアプリケーションを実行できます。ところで、作者Iztok KacinはSOメンバーです。

于 2012-04-17T19:33:15.193 に答える