browser クラス : LoadCompleted(class,string) メソッド
説明
ハンドラを"LoadCompleted"イベントに割り当てます。
構文
instance.LoadCompleted(class handleClass, string signature)
引数
クラス | 名前 | 説明 |
class | handleClass | ハンドラをメンバとして持つインスタンス。 |
string | signature | ハンドラのシグネチャ。 |
返り値
クラス | 説明 |
switch | ハンドラの実行を制御するインスタンス。 |
サンプルコード
次のクラス定義があるとします。
1: | class handle |
2: | open method void LCHandler(dictionary dic) |
3: | browser sender = dic.Sender; |
4: | switch sw = dic.Switch; |
5: | bool succ = dic.IsSuccess |
6: | string wes = dic.WebErrorStatus; |
7: | endmethod |
8: | endclass |
ハンドラの割り当ては次のとおりです。
1: | browser b; // Main-browser |
2: | handle h = new handle(); |
3: | switch sw = b.LoadCompleted(h,"LCHandler(dictionary)"); |
注意
"LoadCompleted"イベントはページのロードが完了した時に発生します。
"LoadCompleted"イベントのハンドラは、dictionaryクラスの引数を一つ持つopenメソッドでなければなりません。
つまり、ハンドラのメソッド名が "handlerName"の場合、ハンドラの定義は次のようになります。
open method void handlerName(dictionary dic)
...
endmethod
この場合、第2引数で指定されるハンドラのシグネチャは "handlerName(dictionary)"です。
イベント発生時にハンドラに渡される dictionary は以下の key と value のペアを持ちます。
key | value(クラス) | value(説明) |
Sender | browser | イベントの発生元。 |
Switch | switch | ハンドラの割り当てで返される switch と同じインスタンス。 |
IsSuccess | bool | ページのロードが成功したかどうかを示す値。 |
WebErrorStatus | string | ページのロードが失敗した時の理由。 |
WebErrorStatus は以下の様な文字列を返します。
CannotConnect
CertificateCommonNameIsIncorrect
CertificateExpired
CertificateIsInvalid
CertificateRevoked
ClientCertificateContainsErrors
ConnectionAborted
ConnectionReset
Disconnected
ErrorHttpInvalidServerResponse
HostNameNotResolved
OperationCanceled
RedirectFailed
ServerUnreachable
Timeout
UnexpectedError
Unknown
ロードが成功したときは"Unknown"を返します。
ハンドラは専用のスレッドで実行されます。
参照リンク
無し。