カテゴリー
月別アーカイブ: 10月 2011
これってコンポーネントのバグなんじゃないの??
良くある、DateFieldコンポーネントの日付設定。 グリッドを選択した時にその行の内容やら日付やらを表示する処理を作った。 たいていはこんな感じでsplitで元のDBのフォームをバラして _val=col.rp_date.split(“-”); こんな感じで最設定する _date.selectedDate=new Date(_val[0]+”/”+_val[1]+”/”+_val[2]); しかし、ちゃんと設定される時とされない時(日付が変更されない)場合がある。 されない時と言うのは、その前にDateFieldを開いて何処かの日付を選択した後。 原因が分からずに暫くネットでそれらしい話を探したが情報がない。 あれこれやってみて偶然だが、日付を選択した後に、他のコンポーネントを触って同様の処理をやったらちゃんと設定された! つまりDateFieldへフォーカスがある間は、プログラムでselectedDateを行なっても設定されない様なのだが、グリッドをクリックする段階で既に自身からフォーカスがグリッドへ移っているはずなのだが、そうはならない様だ。 もしかすると、グリッドのデータ選択のイベントで処理している間はFocusの移動は後回しにされている可能性がある。 この辺がシングルタスクの悲しいところだ。 そこで、試しにDateFieldの_changeHandlerイベントで、次の項目へ強制的にsetFocus()してみたら、ちゃんと設定されるようになった(-_-) う~ん。。でも、なんかこれってコンポーネントのバグなんじゃないの??
カテゴリー: Flash Builder, 仕事
コメントは受け付けていません。
バージョンが変わると使えない
今、ZendAMFをベースとして、MySQLのラージオブジェクト(BLOB)へ画像の保存と出力をやっている。 以前はPostgresだったので、ラージオブジェクトの管理方法そのものが全く違っていて取り敢えず、AIRアプリケーションから登録と表示は出来るようになった。 この時に画像のテンポラリファイルを作るのだが、以下の様にパスを抜くのに使っていたsplitがPHP5.3以降ではエラーを吐くようになっていた。多分、注意レベルだろうがZendAMFを利用していると「channel disconnected channel disconnected before an acknowledgement was received」が出てエラーとして処理されてしまう。 $data = split(“/”,$url); PHP側では処理はちゃんとやってエラーとので、何故エラーを吐くのか原因が分からない。 色々調べているうちにこれが原因と言うのが分かり $data = explode(“/”,$url); へ変更した。
カテゴリー: 未分類
コメントは受け付けていません。
自分と同じレベルで考えるな
リモートサーバーでのサービスをなんとかデプロイして※リリースしたAIRアプリケーション。 ※結局、FlashBuilderの問題だった様で、上手く行かなかった翌日に、想定していたURLの箇所を変更しただけで、難なく出来た。 どうやらPCをリセットしなければならなかったようだ。ちなみにFlashBulider側のservicesフォルダーはリモートサーバー用とXamppを使ったローカルサーバ用を二通り作って開発時は切り替えるようにした。 話を戻すが、このAIRアプリケーションはログイン画面があるのだが、僕はログイン出来ない場合は、IDとパスワード欄をクリアするのみで特にメッセージを表示する機能を入れてなかった。 企業内のイントラで使うもので、IDとパスワードも特定の数しか発行されない。 まあ、そんなもの間違えるはず無いだろうし、何らかのヒントになるメッセージを表示することで不正ログインされる可能性もある。 パスワードを表示して入力するように出来る機能も入れているので、自分が間違ってると思うだろうと考えたが、そうでは無かった。 リリースした二日後に 「会社指定のIDとパスワードを入力したのですがログインできません。入力してログインアイコンをクリックすると入力したID欄、パスワード欄が消えてしまうだけです。どのようにすればよいのでしょうか」 と言う問い合わせのメールが来て、ハタと思った。 ユーザは自分と同じレベルではない。それは、技術と言う意味ではなく、システムに関する信頼性だ。 使ってるのが僕なら当然、システムの問題ではないと思って自分の入力を疑うが、使い始めたばかりのユーザだと、自分の入力が間違っているとは思わず、システムを疑う。 なるほど。 すぐに、IDとパスワードが間違っている時は「IDかパスワードが間違っています」と言うアラートを表示するようにした。 ユーザから教えられることは多い。 ちなみに、あとで聞いた話ではID+パスワードを、IDやパスワードへ入れていたらしい。 そりゃログイン出来ない筈だが、自分と同じレベルで考えるなと言うことだ。
カテゴリー: 未分類
コメントは受け付けていません。