PostMessageで構造体データを渡す方法 – プログラミング – Home

PostMessageで構造体データを...
 
通知
すべてクリア

[解決済] PostMessageで構造体データを渡す方法


おはし
 おはし
(@おはし)
ゲスト
結合: 16年前
投稿: 10
Topic starter  

環境:VS.NET 2003
OS:WinXP

PostMessageにて、構造体データを送信する方法を教えてください。
PostMessageはWPARAM、LPARAMの2つのデータを送信可能ですが、3つ以上のデータを送信
したい場合、構造体にしないといけないと思っています。そこで、構造体データのアド
レス(ローカル変数)を渡したところ、うまくデータが送信できていないようです。具
体的には、
「TCHARの配列データ、SYSTEMTIMEデータ、enumデータ」の構造体を渡しているのです
が、メッセージ受信部をデバッグして見ると「TCHARの配列データ」のみ正常に受け取れ
ますが、残りのデータはうまく受け取れません。
何か考えられる原因はありますでしょうか。


引用未解決
トピックタグ
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 21年前
投稿: 600
 

PostMessageした相手が受け取る前に書き換えてないかしら。
(できるなら)SendMessageに取り換えたらどうなります?


返信引用
おはし
 おはし
(@おはし)
ゲスト
結合: 16年前
投稿: 10
Topic starter  

SendMessageを使用したら問題ありませんでした。ありがとうございました。

ちなみに、
PostMessageでは一部のデータがNGでSendMessageではうまくいく原因は何か考えられま
すか?


返信引用
Blue
 Blue
(@Blue)
ゲスト
結合: 20年前
投稿: 1467
 

PostMessageとSendMessageの違いは理解されていますか?
原因はそれに尽きるのですが。


返信引用
επιστημη
 επιστημη
(@επιστημη)
ゲスト
結合: 21年前
投稿: 600
 

だからー
PostMessageした相手が受け取る前に書き換えてないかしら。
ってゆってんじゃん。


返信引用
おはし
 おはし
(@おはし)
ゲスト
結合: 16年前
投稿: 10
Topic starter  

フレームワークのどこかで書き換えられてるのかしら。


返信引用
subaru
 subaru
(@subaru)
ゲスト
結合: 19年前
投稿: 381
 

PostMessageは一旦ウインドウプロシージャーを抜けるので、メッセージを受け取ったと
きには既にローカル変数へのポインタは無効な領域を指しています。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました