投稿日 | : 2007/07/06(Fri) 10:48 |
投稿者 | : HK |
Eメール | : |
URL | : |
タイトル | : 自己解決しました・・・ |
> > EXEにコンパイルして実行すると正しく動作しなくなります
> 「正しく動作しない」とは、どういう状況ですか?
実行時とデバッグ時で、受信内容の表示に違いがでていました
すぐに、MDAC を疑ってしまったのが間違いでした。
> > ソケットでバイナリーを送受信して、バイト配列の中から任意のバイト数を
> Stream 側ではなく、ソケット側の処理に問題がある可能性はありませんか?
ソケットに送る前に問題がありました、状況を整理したら原因が解りました
幾つかの構造体をソケットで送るために、バイト配列にコピーしてそれを ADODB.Streem
を使ってバイト配列を結合して、ソケットで送信をして、受け側で、ADODB.Streem
で必用な場所を取り出して通信内容を表示してました。
この構造体からバイト配列へのコピーに RtlMoveMemory をつかっていたのですが
構造体をコピーするときに、ByVal を構造体の前につけてバイト配列にコピーしていました
デバッグ時はByValをつけても正しく動いていましたが、EXEにしたら
ここで正しくコピーされていませんでした・・
書く前に状況を整理するべきでした、すいません