Delphi はじめの一歩

ブラウザを作る

<Lesson10> エラーを回避する −(2)

何も表示してない状態で、RefreshButtonを押してみるとエラーが発生します。
色々試してみると、それ以外の状況は大丈夫そうなので、何も表示してない時だけはRefreshButtonを押しても再読込を実行しないようにコードに書き加えます。

下図のように書き加えてください。
ちなみに
if 条件1 then
begin
内容A
end;
で条件1を満たしたら内容Aを実行するという意味を持ちます。
<>は等しくないという意味で、nilは全く何もないという意味です。
全体では、ブラウザの中身が(から)じゃないなら再読込をする。という意味になります。
もしEdit1の中身が空の状態でNavigateButtonを押すと、ブラウザの中身が空になってしまうようです。ブラウザの中身が空だと、様々なバグを引き起こしそうなので、そうならないように処理しておきます。
下図のようにEdit1.Textが空だったら about:blank にNavigateして空にならないようにしてください。
about:blankにNavigateすると、何も表示されませんが、空ではないようです。
あと、= は等しいを意味し、:= は左辺に右辺を代入する事を意味します。
それと、文字列を直接ソースで使うときは ’(単引用符)で(はさ)みます。
中止ボタンも予期せぬエラーを引き起こさないように、WebBrowser1がWebページを読み込んでいる最中だけ機能するようにします。
WebBrowser1.Busyは読込途中かどうかを意味し、値がTrueなら読込途中でFalseなら読込途中ではない事を意味します。

>> Lesson11に進む