掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
repeatループ中の強制終了ボタンでエラー回避は? (ID:19291)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
皆様にはいつもお世話になっております。 repeat・・untilループ処理中、画面右上のform Closeボタン?で終了するとエラーになるのを回避する方法を教えていただけないでしょうか。 概略は下記のような処理をしています。環境はWinXPpro Delphi6 Personalです。 ここで使っているコンポーネントは、IEDownload、StringGrid、StringList(urlのtableとして使う)です。 インターネットのホームページをダウンロードして保存するプログラムです。 最初のurlをDLしてurlをStringGridに登録する。 repeat StringGridから順番にhtmlへのリンクを取り出す。 urlに基づいてDLしてあるhtmlファイルをDoc.LoadFromFile(ファイル名)でロードする。 取り出したhtmlファイルを解析する。 文中にリンクがあったらIEDownload関数でリンクチェックしてOKなら DL命令IEDownload(Sender.url、保存先ファイル名)で保存しておく。、 urlはStringGridに次々に追加する。 (このようにしてStringGridの行数は取得したリンクをある分だけ追加するので増大していく。) until ダウンロード済み件数+Not Found数>=StringGrid行数(リンク登録件数) このようにループにより最初のページにリンクされたページより次の階層までDLする。 この様なループでDL処理している最中に画面右上のForm Closeボタン?をクリックするとエラーになる。 たとえば 「モジュール 'プログラム名.exe' のアドレス 004B0EA0 でアドレス 00000021 に対する読み込み違反がおきました。」 終了処理は.Form1.FormClose()でデータの保存などしているだけです。 具体的なコードは長くなるため抽象的な記述になりましたが、よろしくお願いいたします。m(_ _)m
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.