掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
DelphiとVCでの共有メモリでの開始アドレスのずれ?? (ID:42171)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
DelphiとVCの各プロセスで、メモリ共有のためMapViewOfFileを使用して、開始アドレスを取得します。 ○Delphi側 レコード型のポインタを使用して、配列で管理 TFile = Record m_arr array[0..100] of integer; end; tf :^TFile; tf := MapViewOfFile( ) tf.m_arr[1] := 7 ○VC側 ポインタで管理 LPVOID cMap; int *cm; cMap = ::MapViewOfFile( ) cm = (int *)cMap; *(cm +1) = 7 このとき、例えば*(cm+10) = 5 とVCでした場合、 Delphi側で期待しているのはtf.m_arr[10] = 5の値ですが、 tf.m_arr[8] が 5になります。 このずれがなぜ生じてしまうのかわかりません。 考えられることありますか? また開始アドレス自体が同じかどうか調べる方法ありませんか? よろしくお願いします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.