2011-10-27 7 views
-2

recordを1つのdllから1つのexeに送信しようとしています。WM_COPYDATAでdllからexeに情報を送信できません

dllは私が書いたOutlookアドインで、exeは私の主なアプリケーションです。

this exampleを使用してrecordをexeからexeに正常に送信しましたが、私がdllからexeに同じことをしようとすると、動作しません。

注:リンクを開いて、使用しているコードを見つけてください。そのコードは、EXE送信者アプリケーションとEXE送信者アプリケーション用です。これは機能します。

送信者コードをdllの中に入れると、この例はもう機能しません。

解決策を提案できますか?

+0

「TRecord」とは何ですか? –

+0

レコード、私は質問を更新しました。 – LaBracca

+0

'WM_COPYDATA'を送信するコードとそれを受け取るコードを表示する必要があります。また、「うまくいかない」ということを説明する必要があります。 –

答えて

0

文字列を扱うことができると仮定すると、レコードを文字列(CSV、場合によっては〜のような奇妙な区切り文字を使用)にシリアル化し、文字列(PAnsiCharまたはPWideChar)、もう一方の端のレコードにデシリアライズし直します。これはあなたが望むものほどエレガントではありませんが、確かに、積極的に動作します。

+0

'string [n]'を使ってレコードも簡単です。ただ 'SizeOf()'を使う必要があり、それはすべてうまくいくはずです。 –

+0

返信いただきありがとうございますが、私の問題はデータを送信していないため、exeファイルからdllが機能しないのです。 – LaBracca

関連する問題