HAMLOG開発室は、HAMLOGに関連したプログラム開発(C、パスカル、VB言語等、又はDLL)についての
専用BBSです。プログラム言語に関する投稿以外は通常のHAMLOG相談室に投稿して下さい。
HAMLOG開発室BBS

WM_COPYDATAについて 投稿者:JG1MOU浜田

ドキュメントに間違いがあったみたいです。
文字列を送る場合、C言語では最後の0x00が必要なので、文字列の長さ
+1が正解みたいです。
HAMLOG本体では+1してましたが、道の駅Get'sでは+1してませんでした。
たぶん、PASCALやBASICでは大丈夫なのでしょう。
C++でも+1しなくても動くのかもしれませんが、ネット上のコードを
見ていると、strlen("文字列") + 1が多いみたいです。参考まで。

cds.dwData = 1;
lstrcpy(buffs, "JG1MOU"); // コールサイン文字列
cds.cbData = strlen(buffs) + 1; // ※文字列の長さ+1※
cds.lpData = &buffs[0]; // 文字列のポインタ
Hwnd2 = SendMessage(Hwnd1, WM_COPYDATA, (WPARAM)Form1->Handle, (LPARAM)&cds);

2014/12/15(Mon) 19:01:14  [No.640]


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)
- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)
Call 名前 ※必須
文字色
Eメール
タイトル sage
URL
メッセージ 手動改行 強制改行 図表モード
メッセージには上記と同じURLを書き込まないで下さい
画像File  (130kBまで)
暗証キー (英数字で8文字以内)
投稿キー (投稿時 投稿キー を入力してください)
プレビュー