Silverlight: 2009年4月アーカイブ

 とあるアプリケーションが、MacのSafariで正常に動作しないという報告がクライアントからありました。

 多少条件判定処理が多いくらいで、それ以外はどう考えてもごくごく普通の処理をしているだけの個所なのに、確かに動作がおかしかったので、前回のエントリーで書いたSilverlightとJavaScriptの連携を使ってログを吐きつつ調査をしてみたところ、恐ろしいことに気づいてしまいました。

 double型って==演算子で比較しちゃダメなの?(´・ω・`)

 明らかに等しいdouble値の==演算子の比較が常にfalseになっているようだったので、試しにEqualsで比較するようにしてみたら、正常に動作するようになりました。
 確かにEqualsメソッドもあるけど、別に==で比較しても良いんじゃないの?ヽ(`Д´)ノ
 何も明らかに等しい値を、しかもMacのSafariだけでスルーしなくても良いと思う(´;ω;`)

 ということで、今後はdouble型の比較には、==演算子じゃなくてEqualsメソッドを使いましょう、というお話しでした。

 でも忘れちゃいそうだなー( ;^ω^)

 SilverlightアプリケーションからアプリケーションをホストしているHTMLファイルに記述されたJavaScriptのファンクションを呼び出す方法はこんな感じ。

ScriptObject jsFunction =
  (ScriptObject)HtmlPage.Window.GetProperty("jsFunctionName");
if(jsFunction != null)
{
  jsFunction .InvokeSelf(parameter);
}

 引数を問題なく渡せることは確認しましたが、どんな型が渡せるのかとか、返り値もちゃんと渡って来るのかとか、外部JSファイルのファンクションはどうなんだ、とかいうのはまだ試していません。
 JavaScriptからSilverlightアプリケーション内のメソッドを呼び出すこともできるのですが、それはまた次回。

1

このアーカイブについて

このページには、2009年4月以降に書かれたブログ記事のうちSilverlightカテゴリに属しているものが含まれています。

前のアーカイブはSilverlight: 2009年3月です。

次のアーカイブはSilverlight: 2009年5月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 6.0.3
ぎゅう♪ぎゅう♪ぎゅう♪ぎゅう♪ ぎゅう♪ぎゅう♪ ぎゅう♪ぎゅう♪