掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Timerで呼び出したウィンドウのEinvalidoperationをなくす方法は? (ID:42240)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
このソースを自分なりに解釈して、メインのフォーム(IndexMain)のEditに "TO"と入力してEnterを押すと"自動"という表示に変わり およそ1秒後にForm2(Dmaking?Pmaking?)が表示され そのForm2にあるEditに約10秒間"Hellow"が点滅表示されてForm2は閉じる。 その後2回目はタイミングにより20秒から60秒後に表示され 3回目以降は約60秒後(タイミングによっては約40秒後)にForm2が表示され続ける。 という動作になりましたが、これでいいのでしょうか? 多分、1分おきにネット上のどこかに接続したいのでしょうけど 「ネット接続」と一口に言っても、いろいろな処理が考えられます。 取り敢えず、IdHTTPを使ってということなので Form2にMemoとIdHTTPを追加して procedure TPMaking.OnActivate(Sender: TObject); var n:integer; ms: TMemoryStream; begin ms := TMemoryStream.Create; try IdHTTP1.Get('http://www.yahoo.co.jp',ms); ms.Position := 0; memo1.Lines.LoadFromStream(ms); finally ms.Free; end; Dmaking; PostMessage(Handle,WM_CLOSE,0,0); end; こんな風にしてみましたが、特にエラーは発生しません。 IdHTTPをどのように使うのか、さらにそれで得られた結果を どう処理しているのかにポイントだと思います。 発生するエラーからして、どこかでSetFocusを呼んでいませんか? そこがフォームが閉じられた後に実行されるとか。 デバッグオプションの「言語の例外で通知」にチェックをいれれば エラーが発生する箇所を特定できるのでは? あと、老婆心ながら Making:=TPMaking.Create(Application); Making.ShowModal; Making.update; この部分の最後のupdateってReleaseの間違いでは? このままだと、作成したTPMakingフォームが開放されずに どんどんメモリを食っていきます。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.