http://madia.world.coocan.jp/cgi-bin/VBBBS/wwwlng.cgi?print+200505/05050005.txt
の続きです。
K.J.K. さんのサンプルをWin98+VB6で試しているんですが、
以下の現象で悩んでいます。
EXEの場合
上下矢印(↑↓)キーを押した場合、またはTextBoxに文字列を入力した場合に、
「このプログラムは不正な処理を行ったので強制終了されます。」
AUTOCOMP のページ違反です。
モジュール : MSVBVM60.DLL、アドレス : 015f:6606218f
Registers:
EAX=00000000 CS=015f EIP=6606218f EFLGS=00010283
EBX=0041de18 SS=0167 ESP=0159edac EBP=0159edf4
ECX=00000005 DS=0167 ESI=00000000 FS=21a7
EDX=818484a0 ES=0167 EDI=00000000 GS=0000
Bytes at CS:EIP:
89 b0 9c 00 00 00 5e c3 55 8b ec 83 ec 10 56 57
Stack dump:
00000008 00403af6 00000000 00000000 0041de18 00000000 00000000 00000000 0041e130 00000008 00423554 0041e130 0041eeec 00000000 0159ee3c 00401196
というメッセージが表示されててしまいます。
IDEの場合
オートコンプリートは正常に機能するのですが、Projectの終了時に、
VB6 のページ違反です。
モジュール : <不明>、アドレス : 0000:00000003
Registers:
EAX=0061ed88 CS=015f EIP=00000003 EFLGS=000102c7
EBX=bff7b9a3 SS=0167 ESP=034aff2c EBP=034aff90
ECX=88a26000 DS=0167 ESI=00624aac FS=4a87
EDX=7111ea9f ES=0167 EDI=70bd194c GS=0000
Bytes at CS:EIP:
00 69 04 70 00 16 00 f0 11 69 04 70 00 69 04 70
Stack dump:
70bd1966 0061ed88 7111a376 00624ad4 00624ab0 00624aac 7111a347 00624aac 7111a2b1 00000001 00624aac 00000000 7111e930 00624aac 00000000 70c16150
という、上記と同様のメッセージが表示されててしまいます。
これは、私の環境だけでしょうか?
どこを、どのように調べれば原因が特定されるのでしょうか?
宜しくおねがいします。
試してみたら発生しますね。暫定的にP-Codeコンパイルで
再コンパイルをしておいてください。
IEnumStringの各メソッドは別スレッド内で呼び出されるよう
なので、それに対応した記述にしないといけないようです。
ツイート | ![]() |