Re: データ通信(再び) ( No.1 ) |
- 名前:管理人 日時:2008/09/23 22:26
うーん、私の環境だと VisualC++ 2008 で実行しても大丈夫でした・・・
もしかしたら私の手元にある最新バージョンでは正常に動くかもしれませんので、
宜しければこちらのバージョンで試してみていただけないでしょうか?
http://homepage2.nifty.com/natupaji/DxLib/DxLibVCTest.exe //VC用
http://homepage2.nifty.com/natupaji/DxLib/DxLibBCCTest.exe //BCC用
(中身を既存のライブラリのファイルに上書きして、BCCをお使いの
場合は『再構築』、VCをお使いの場合は『リビルド』をして下さい)
|
Re: データ通信(再び) ( No.2 ) |
- 名前:ライブラリ使用者 日時:2008/09/24 00:38
早速ご確認頂き有難うございます。
上記でも、エラーになることがありました。
ただ、Web閲覧中などその他のデータ通信がある場合、発生し易いようです。
サンプルでは、その他通信が無い場合などはうまく動いているようですが、実際のプログラムではうまくいきません。
こちらの問題の可能性が高いようですので、もう少し追ってみます。
|
Re: データ通信(再び) ( No.3 ) |
- 名前:ライブラリ使用者 日時:2008/09/24 01:10
追加情報です。
以前動かしていたDXライブラリ2.23aから今回提示いただいた2.24dにおきかえて、Debugモードにて起動させようとすると
(追加ファイルをコピーして、リビルドしただけ)
DebugAssertionFailが発生します。
dbgheap.c 1044行目
Expression:CrtIsValidHeapPointer(pUserData)
Release版では、問題ありませんでした。
|
Re: データ通信(再び) ( No.4 ) |
- 名前:ライブラリ使用者 日時:2008/09/24 01:12
すみません、No3の書込みはサンプルではなく実際に作成しているプログラムです。
混乱させてしまうような記載をしてしまい、すみませんでした。
|
Re: データ通信(再び) ( No.5 ) |
- 名前:通 日時:2008/09/24 04:44
>Debugモードにて起動させようとすると
>DebugAssertionFailが発生します。
Release版のDxLib.libをDebug版で
或いはその逆リンクしたりしていませんか?
GlobalAlloc,GlobalFree,
malloc,calloc,free,new,deleteなどの混在や
アプリが確保した領域をDLLが開放したり、
またはその逆を行うと起こる可能性があります。
2.24cのコードを見ましたが、
前回の投稿のとき指摘された、
RecvSocket関数の修正が反映されていないように
思えます。
|
Re: データ通信(再び) ( No.6 ) |
- 名前:ライブラリ使用者 日時:2008/09/24 23:38
>Debugモードにて起動させようとすると
>DebugAssertionFailが発生します。
2.24dのDxLib.hを少しいじったら直りました。
73行目、77行目を入れ替え。
#pragma comment( linker, "/NODEFAULTLIB:libcmt.lib" )
が_DEBUG時に設定されていたためのようです。
_dまたは最後にdがついているファイルがデバッグ版のものと認識していますので、このせいではないかなと。
>管理人様、ご確認お願いします。
また、私は使用していないため影響がないだけかもですが、同139行目、145行目も逆なのではないかと思います。
併せてご確認ください。
|
Re: データ通信(再び) ( No.7 ) |
- 名前:管理人 日時:2008/09/27 03:50
うーん私の環境では Web閲覧をしながらでも1万回以上を正常にカウントできました・・・
また、
#pragma comment( linker, "/NODEFAULTLIB:libcmt.lib" )
は、libcmt.lib をリンクしないでくれ、という意味なので
理屈の上では現状の記述では間違っていません
謎が多いですね・・・
> 通さん
たまに更新作業を誤ってソースが逆戻りしてしまうので
改めて現在のバージョンを確認してみましたが、
以前ご指摘頂いた部分の修正は反映されていました
|
Re: データ通信(再び) ( No.8 ) |
- 名前:ライブラリ使用者 日時:2008/09/27 21:00
ソースの確認ありがとうございます。
うーん・・・、問題なしですか
困った、こちらも処置なし状態です。
自分の方のプログラムをもう少し、見直してみます。
|
Re: データ通信(再び) ( No.9 ) |
- 名前:ライブラリ使用者 日時:2008/09/28 12:15
データ送受信に関しては、こちらのミスでした。
データ送受信させる構造体宣言の参照位置を間違えていました。
まだヒープが壊れてるなど、動作としては不十分ですがそれもこちらの可能性がしてきました。
お騒がせしてすみませんでした。
|
Re: データ通信(再び) ( No.10 ) |
- 名前:ライブラリ使用者 日時:2008/09/29 22:48
ヒープの方もこちらのミスでした。
new char[X]でX以上の値にまで、書込みなどしていました。
ただ、なんで今回になってAssertに引っ掛かったのかは謎。
|