件名のとうりなのですが、文字を入力させるためのウインドウを出し、
ウインドウを閉じると、デバッグ画面ではちゃんと入力したとおりに
表示されます。しかし、「MsgBox」で表示させたり、別変数に代入しようとしたりすると、何も表示されなかったり、エラーが起きたりしてしまいます。
どうやったらデータを利用できるでしょうか・・・?
別ウインドウで取得したデータがメインウインドウで利用できない
変数をきちんと確保していますか?
変数をきちんと確保していないのが原因だと思うのですが。
hWnd: 文字を入力させるためのウインドウのハンドル(DWord)
Text: hWndに入力された文字を保存する変数(BytePtr)
Size: hWndに入力された文字数(Long)
として見てください。括弧の中は変数の型です。
(1)の命令を忘れると、文字列を保存するエリアが確保されていない訳ですから、利用できなかったり、エラーになったりするのは当たり前ですよ。
hWnd: 文字を入力させるためのウインドウのハンドル(DWord)
Text: hWndに入力された文字を保存する変数(BytePtr)
Size: hWndに入力された文字数(Long)
として見てください。括弧の中は変数の型です。
コード: 全て選択
Size=GetWindowTextLength(hWnd)
Text=calloc(Size+1) 'これを忘れていませんか?(1)
GetWindowText(hWnd,Text,Size)
Re: できました
一応補足ですが,callocで用意したメモリ領域は,不要になったときにfreeをかけましょう。
' ============================================================
' Sinryow Game Home Page - http://www.sinryow.net/
' Sinryow ActiveBasic Center - http://ab.sinryow.net/
' ============================================================
' Sinryow Game Home Page - http://www.sinryow.net/
' Sinryow ActiveBasic Center - http://ab.sinryow.net/
' ============================================================