問題タブ [flex3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
apache-flex - Flash TextField HTML - 画像が見つからないというエラー ダイアログが表示されないようにするにはどうすればよいですか? (エラー #2044: 未処理の IOErrorEvent:. text=エラー #2035: URL が見つかりません)
Flash TextField コントロールを使用して、Flash プレゼンテーション内に HTML コンテンツを表示し、大きなタッチ スクリーン キオスクに表示しています。残念ながら、表示された HTML コンテンツ内の画像タグが存在しない画像を指している場合、ダイアログにエラー メッセージが表示されます。
そのダイアログがポップアップするのを避けようとしています。ローダー クラスを介してコンテンツをロードするための解決策IOErrorEvent.IO_ERROR
は catchですが、TextField、ステージ、Main、および loaderInfo でそれをリッスンしようとしましたが、役に立ちませんでした。すべてをtry-catchでラップしようとしましたが、それも機能しません。
解決策を見つけるために使用している簡略化されたコードは次のとおりです。
編集:そして、これが作業コード全体です。
もちろん、動的コンテンツなどの場合は、画像のリストとハンドラーを生成する関数などが必要です。
apache-flex - Flex 3 の virtual キーワードはパフォーマンスに影響を与えますか?
タイトル通り本当に。virtual キーワードはパフォーマンス ヒットを引き起こしますか?
apache-flex - List コンポーネントの itemRollOver および itemRollOut イベントに関する問題
itemRollOver
List コンポーネントにおよびイベント リスナーを設定しitemRollOut
ましたが、リスト アイテムの上にマウスを移動すると、同じリスト アイテムの over イベントと out イベントの両方が次々と発生します。私のリストはカスタム itemRenderer を使用しています。
なぜこれが考えられるのでしょうか?Adobe のドキュメントでは、これに関する詳細な情報は提供されていません (驚くべきことではありませんが...)。
apache-flex - Flex/Actionscript での線の接続 (ドラッグ中)
複数の mx:Panel 要素を含む mx:Canvas 要素があります。そのような 2 つの mx:Panel を接続する線を描画できるようにしたいと考えています。これは、一方または両方がドラッグされたときに、線が 2 つの mx:Panel を接続し続けるようにするためです。それは些細なことのように思えますが、私はそれを理解することができませんでした.
実際、これが問題です。
代替テキスト http://img150.imageshack.us/img150/5656/ishot1eu3.jpg
更新はパネルが最終位置に到達したときにのみ発生するため、「B」パネルのドラッグを開始するとすぐに、ぶら下がった線が残ります。
代替テキスト http://img212.imageshack.us/img212/4296/ishot2qi6.jpg
以下に示すように、mx:Canvas コンポーネントの updateDisplayList() メソッドをオーバーライドすることで解決できます。残念ながら、それはドラッグ後にのみ描画を更新し、移動中は更新しません。パネルで「xChanged」および「yChanged」イベントをリッスンすると、updateDisplayList() をオーバーライドした場合と同じ結果が得られます。
以下で指摘されているように、最終的な解決策では、移動する Panel から移動中の Canvas に移動イベントをディスパッチする必要があります。これにより、モーション全体で線が強制的に再描画されます。
助けてくれてありがとう!
flash - AdobeAIRを使用したプラグインアーキテクチャの構築
今後のプロジェクトのクライアント側の実装技術としてAdobeAIRを選択することを考えています。(以前の選択はC#とWPFでしたが、最近Flash / Flex / AIRに本当に感銘を受けました。)
しかし、私の製品の最も重要な機能の1つはプラグインアーキテクチャであり、サードパーティの開発者が機能とGUIを興味深い方法で拡張できるようにします。
C#でアーキテクチャを設計する方法を知っています。プラグインローダーは、ローカルの「app /plugins/」ディレクトリにあるすべてのアセンブリを列挙します。アセンブリごとに、すべてのクラスを列挙し、「IPluginFactory」インターフェースの実装を探します。工場で作成されたプラグインごとに、MVCクラスを要求し、GUI要素(メニュー項目、パネルなど)を既存のGUIレイアウトの適切なスロットにスナップします。
AIR内で同じことを実行したいと思います(Webからではなくローカルファイルシステムからプラグインをロードします)。この記事を読んだ後、私の理解はそれが可能であり、基本的なアーキテクチャ(サンドボックス化されたApplicationDomainsへのSWFのロードなど)は.NETで行う方法と非常に似ているということです。
しかし、私は落とし穴に興味があります。
Flash Playerを使用して動的なクラスローディングを行ったことがある場合(できれば、Flash / Flexの混合アプリで、特にAIRホスト内で)、プラグインフレームワークを構築した経験と、トリッキーな状況に遭遇した場所についてお聞かせください。フラッシュプレーヤー、およびフラッシュ、フレックス、およびAIRAPIを使用します。
たとえば、誰かが私にこれと同じ質問をしたが、Javaプラットフォームを念頭に置いている場合、JVMには「モジュール」または「アセンブリ」の概念がないことは間違いありません。最高レベルの集約は「クラス」であるため、大規模なプロジェクトを管理するためのプラグインシステム内に組織構造を作成することは難しい場合があります。また、複数のクラスローダーの問題と、それぞれがロードされたクラスの独自の個別のインスタンスを(独自の個別の静的変数を使用して)維持する方法についても説明します。
これが私にとってまだ答えられていないいくつかの特定の質問です:
1)actionscript "Loader"クラスは、SWFをApplicationDomainにロードできます。しかし、そのappdomainには正確に何が含まれていますか?モジュール?クラス?MXMLコンポーネントはどのように表現されますか?プラグインインターフェイスを実装するすべてのクラスを見つけるにはどうすればよいですか?
2)メインアプリケーションとは別のApplicationDomainにプラグインをロードした場合、他のappdomain内からコードを呼び出すのはかなり複雑ですか?アプリ間ドメインマーシャリングレイヤーを通過できるデータの種類について、重要な制限はありますか?マーシャリングは法外に高価ですか?
3)理想的には、自分のメインコードの大部分をプラグインとして開発し(メインアプリケーションはプラグイン読み込みシェルにすぎません)、プラグインアーキテクチャを使用してその機能をアプリに追加したいと思います。それはあなたの心に恐怖をもたらしますか?
keyboard-shortcuts - Adobe AIR キーボードフック
アプリが最小化されている場合でも、(構成可能な) グローバル キーボード イベントをリッスンできる機能を AIR アプリに追加しようとしています。例: CTRL-ALT-SHIFT-F12 でスクリーンショットを取得します。
キーボード フックを登録する方法が見つかりません。キーボード イベントをリッスンしても、アプリにフォーカスがある場合にのみキャプチャされます。提案?
actionscript-3 - Actionscript でオブジェクトのプロパティのリストを取得するにはどうすればよいですか?
データプロバイダーと、データプロバイダーに割り当てられた配列用のフィルター関数があります。
filterfunction に渡されるときに、dataprovider (item.data) の各行にあるプロパティのリストを取得するにはどうすればよいですか?
たとえば、オブジェクトに次のものが含まれているとします。
- 物体
- 名前
- Eメール
- 住所
次に、フィルター関数で名前、電子メール、およびアドレスを確認できるようにします。残念ながら、これらのプロパティがどうなるかは事前にわかりません。
何か案は?
flex3 - Flex 3 とリモート Java オブジェクトへのアクセス
Flex を学び始めたばかりで、Flex がリモート処理を行う方法を理解しようとしていますか? 私が読んだところによると、Flex はライフサイクル データ サービス戦争を提供しているように見えます。これはサーバー上にあり、リモート呼び出しを傍受します。これは近いですか?
このオプションを使用すると、1.サーバーに余分な戦争を追加する必要があります-ライフサイクルデータサービス戦争と2.各CPUで使用するインスタンスごとにライセンスを支払う必要がある.
フレックス mxml 内からリモート Java オブジェクトを呼び出すために使用できる、より簡単な [無料] オプションはありますか?
apache-flex - Flexデータグリッドをデータに適合させる
0〜100の間で変化する可能性のあるテキストデータの行があり、すべてを一度に画面に表示する必要があります。デフォルトの動作は、行*rowHeight>gridHeightまでグリッドに適しています。
基本的に、グリッドの高さに基づいて計算するには、アイテムの高さ、つまり行の高さへのフックが必要です。paddingTopとpaddingBottomをゼロに設定しましたが、行の間にかなりの量の空白が残っています。
私のデータグリッドコンポーネント...
setRowHeight()は役立ちますが、行の高さを10のように設定すると、セルのitemRenderがセルよりも大きくなります。
apache-flex - Flex 3-AS3を使用する場合、属性を設定する前にコンポーネントを追加する必要がありますか?
Flex3mxmlコンポーネントがあるとしましょう。これをAと呼びます。Aには「b」というget/set属性があります。AI内には、mxmlを使用して指定される別の内部コンポーネントCがあります。mxml内でコンポーネントAを「インスタンス化」する場合、宣言時にbの値を指定でき、すべてが正常に機能します。ただし、Actionscriptを使用してコンポーネントを初期化する場合、コンポーネントの属性(この場合は「b」)を設定する前に、まずコンポーネントをレンダリングされたコンテナーに追加する必要があります。これは、属性'b'のセッターがA内のCに何らかの方法でアクセスした場合に発生します。
したがって、これは実行時に失敗します(Cがnullであると表示されます)...
一方、次のいずれかが機能します
また
示されているように、コンポーネントがコンテナに追加された後に属性が設定された場合、ランタイムエラーメッセージはスローされません。わかりました。これは理にかなっています。コンポーネントがコンテナに追加されるまで、コンポーネントの内部は実際には作成されないと思います。それでも、これはちょっと面倒です。コンポーネントの内部がコンテナに追加せずに完全にレンダリングされることを保証する方法はありますか?actionscriptとmxmlを使用しているときの感じ方が気に入らない。基本的に、属性「arguments」を使用せずにmxmlでAを宣言することは、ASでnew演算子を使用してAを宣言することと同等であるという解決策が必要です。少なくとも、Aの内部状態に関しては。