問題タブ [firemonkey-fm2]

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.

0 投票する
1 に答える
370 参照

delphi - FM2 オブジェクトの再描画の問題

こんばんは。

私は現在Firemonkey FM2(delphi) で Twitter と Facebook 用のソーシャル ネットワーキング クライアントを設計していますが、イライラする問題が発生しています。現時点では、Twitter のコードしか処理していませんが、問題はビジュアル オブジェクトの [再] 描画に関連しています。

、、などの複数の子コンポーネントで構成されるスタイルブックで、カスタム スタイルのTListboxItemレイアウトを作成しました。Twitter への接続とフィードの詳細の取得については既に説明しました。取得した各アイテムは に追加され、カスタム ListboxItem スタイル レイアウトを使用してスタイル設定されます。TTextTButtonTImageTListbox

現在、この問題は、表示されていないリスト内のアイテムの情報を更新することに関連しています。たとえば、スクロールせずにリストに表示される項目は、その情報を正しく表示します。リストの最後のアイテム以外に表示されないものには、設定されていない/表示されていない詳細がいくつかあります。リストを下にスクロールしてから元に戻すと、最初に表示されていた項目の 1 つが、その情報が欠落していることがよくあります。

これをもう少し説明すると、「ツイート」を投稿した人の写真を表示するために使用される TImage (写真)があります。ツイート自体の内容/テキストを表示するために使用される標準の TText (テキストと呼ばれる)を取得しました。それぞれの機能を実行するために使用される2 つのボタン(Like と Share として知られています)があります。最後に、ツイーターの名前とツイートが投稿された日付を表示するために使用される別の TText (NameDate と呼ばれる) を取得しました。

このコードを使用してオブジェクトを作成し、表示されるデータを変更しています。

GTPhotoは標準の ICS HTTP クライアント コンポーネントであり、TwitObj は私の Twitter コンポーネントです。写真をストリーミングするのではなく、ディレクトリに保存していることがわかります。これは単にストリームに問題があるかどうかを確認するためのものでしたが、とにかく何らかのキャッシュを使用することをお勧めします。

画像は正しくダウンロードされ、カスタム ListBoxItem レイアウト内の関連する StyleResources の情報は期待どおりに更新されますが、スクロールせずに表示される項目についてのみです。リストを下にスクロールすると、Text各項目の のみが正しく、実行時に設定されたその他のリソースはスタイルブックで設計された方法 (つまり、空白のテキスト、画像など) に戻ります。

ここで何か不足していますか?ビットマップの設計意図がパフォーマンスのために XE3 で変更されたことは理解していますが、エンバカデロがこのようなことを見落としていなかったことは確かです。スタイルブック リソースを使用する代わりに、実行時に親内に各アイテムを作成する (したがって、アライメントなどを処理する) ことは期待されていませんよね?

任意の支援や洞察をいただければ幸いです。

0 投票する
1 に答える
4194 参照

delphi - Delphi XE3 FireMonkey 2 で TTabControl のすべてのタブに閉じるボタンを実装する方法は?

FireMonkey FM2 のすべてのタブに小さな閉じるボタンがあるブラウザ スタイルの TabControl を作成しようとしています。

FM2 には TTabsheet および TPageControl コンポーネントがないため、「TPageControl の TTabsheet の閉じるボタンを実装する方法」の回答を使用できませんでした。このコードは、FM2 でサポートされなくなった宣言されていない関数と変数が多すぎると思います。

Delphi の次のバージョンをサポートするかどうかわからないので、サードパーティ コンポーネントは使用したくありません :)

Delphi XE3 VCL で正常に動作する完全なコードを提供できます (FireMonkey ではありません)。

0 投票する
3 に答える
1900 参照

json - クロスプラットフォームのJSON解析

こんばんは。

私は現在、製品WinFlareのクロスプラットフォーム互換バージョンを開発しています。私が直面している問題は、SuperObjectがまだFiremonkeyとクロスプラットフォーム互換ではないということです。どうしても元のバージョンで使っていたのですが、今はWindowsだけではなく、クロスプラットフォーム版を作りたいので面倒です。

DBXJSON何時間にもわたる調査の結果、私が見つけた唯一のクロスプラットフォームソリューションですが、それは試して対処するのにイライラすることを証明しています。私が見つけたほとんどすべての例は、私の状況に当てはまらないか、複雑すぎて有用なものを光らせることができません。たくさんの議論がありますが、私はSuperObjectでのこのような単純なタスクを理解するのに苦労しています。私は今夜​​の大部分を、構築に役立つものを見つけるために費やしましたが、私が試したすべてのことで、私は正方に戻りました。

理想的には、SuperObjectを修正したいのですが、OS Xとクロスプラットフォーム互換にする(そしてモバイルスタジオに対応できるようにする)ための知識が不足しています。それについての提案を歓迎しますが、誰もそのような巨大なタスクを実行する時間がないことを想像しているので、DBXJSONが私の唯一の選択肢のようです。

私が扱っているJSONレイアウトはまだ同じです。

ips配列には何百もの結果が含まれる可能性があります。配列内のすべての項目を解析して、すべてのlatitude値を抽出するとします。また、少しの間、それらを配列に出力するつもりであると仮定しましょう。これが私が使用したい種類のコードテンプレートです。

基本的に、それが言うところ{ Extract Objects from array }の、私は私の問題を解決するであろうDBXJSONを使用する最も基本的な解決策が欲しいです。明らかに、上記のテンプレートに関連して示した呼び出しは正しくない可能性があります。これらは単に補助として機能するためのものです。JsonArray

0 投票する
1 に答える
1896 参照

delphi - メニュー付きの FireMonkey トレイ アイコン

昨年からのお気に入りの質問を続けて、Delphi XE3 (Firemonkey 2) では、本格的な OS であれ iOS であれ、どのプラットフォームでも、ばかげた小さなトレイ アイコンのあいまいなサポートがまだあります。

プラットフォームに依存するコードを使用してトレイ アイコンがあるとします。そのアイコンをどのように「クリック」して、FMX HD フォーム (おそらくメニューまたはよりハイファイなエクスペリエンス) を受け取りますか? 克服しなければならないトリッキーな点がいくつかあります。ActiveX/DCOM コンポーネントなど、アプリケーションの外部に OS サポートをインストールせずに解決する方法を考えてください... :-)

乾杯!

0 投票する
0 に答える
415 参照

delphi - ファイアモンキーペイントボックスにカレットを表示

FiremonkeyのTPaintboxに点滅するカレットを追加する方法を知っている人はいますか?

0 投票する
1 に答える
149 参照

objective-c - ココアはウィンドウの移動領域を制限しますか?

私はココアに不慣れです。MDIチャイルドを持つWindowsのアプリケーションを入手しました。今、私はそれをMACOSに移植する必要があります。MacにはそのようなMDI子がないことを知っていたので、子ウィンドウを設定しようとすると、メインウィンドウ内でのみ移動できます。それは可能ですか?

0 投票する
1 に答える
684 参照

delphi - DLLからのDWMインタラクション

みんなおはよう。

私は現在、Windows DWM API(DWMサムネイルなど)で利用できる機能を中心に構築された小さなアプリケーションを作成しようとしています。そのような機能の1つは、アプリケーション内からサムネイルの領域を動的に選択し、それを拡大/拡大する機能です。これは、ある種の「領域の設定」機能を使用してDWMから実行できる場合がありますが、私はAPIに入る前に、まず自分のルートを試してみたかったのです。

最近Delphiの例を見つけたので、デモから拡張して、より具体的なものを構築したいと思っていました。私はコードをFiremonkey FM2アプリケーションに移動することに着手しました(VCLよりもフレームワークの視覚的機能を非常に好むため)。いくつかの調整を加えることで、なんとかビルドできましたが、残念ながらDWMRegisterThumbnail、VCLバージョンが問題なく動作しているにもかかわらず、FMXアプリケーションで実行すると有効な結果が返されないようです。

それから私はもう少し調べて、Hydraを試してみることにしました。動作するVCLの例をHydraプラグインにコピーし、Firemonkeyホストアプリケーションを作成しました。両方のパーツを正しくセットアップしてコンパイルしました。DLLが正しくロードされ、FMXホスト内のVCLプラグインインターフェイスが期待どおりに表示されました。ただし、ウィンドウのDWMサムネイルを表示しようとすると、非HydraFMXアプリケーションを実行したときと同じ問題が再び発生しました。

次に、VCLとFMXの相互作用に固有の問題ではないことを確認するために、VCLホストアプリケーションの作成に取り掛かりました。VCLプラグインにロードされたVCLホストをコンパイルしましたが、VCLホスト内にVCLプラグインが表示されました。しかし、もう一度、DWMからサムネイルを表示できないことに気づきました。明らかに、これはFiremonkeyとVCLの相互作用の問題ではありません。

したがって、DLLからDWMコードを実行する際の問題であると結論付けました。理想的には、サムネイルの上にドロップする方が簡単であるという理由だけでFMXホストアプリケーションを作成TSelectionし、その方法でスケーリングを処理したいと思います(たとえば、コードが非常に少なく、カスタムコンポーネントを探す必要がない)。などの追加のボーナスについて言及しMakeScreenshotます。

だから、追いかけるために; HydraプラグインからDWMAPIを呼び出したり、DWMサムネイルをFiremonkeyサーフェスに出力したりすることは可能ですか?

私のHydraプラグインで使用されているコードは、リンクされた例で使用されているコードと同じです。ホストアプリケーションで使用されているコードは、RemobjectYoutubeChannelの簡単な例に基づいています。

0 投票する
2 に答える
3503 参照

delphi - FMX2 (TBitmap.ScanLine の置き換え) で TBitmap ピクセルに直接アクセスする方法は?

このFMX.Types.TBitmapクラスにはScanLineFMX (FireMonkey) のプロパティがありますが、このプロパティは削除されたようで、FMX2 (FireMonkey FM2) にはありません。

回避策はありますか? TBitmapFMX2 でコンテンツに直接アクセスするにはどうすればよいでしょうか?

0 投票する
3 に答える
19481 参照

delphi - Firemonkey でアプリケーション パスを取得する

したがって、VCL では、次のコード行を使用してアプリケーション パスを取得します。

同じことを Firemokey で試してみたところ、ExeName が利用できなくなっていることに気付きました。これの代わりにどのコードを使用できますか?

0 投票する
1 に答える
1560 参照

delphi - Firemonkey のタスクバーの前に NotifyIcon ポップアップを表示する

私は自分のプログラムのnotifyIconを作成しています。将来的にはOSに依存しませんが、今のところwin-32部分を書いています。

WM_RBUTTONDOWN メッセージを受信した後に popupmenu を表示すると、メニューが表示されますが、このメニューはタスクバーの後ろにあります。タスクバーの前にある通常のメニューを作成する方法は?

問題は fmx.popupmenu にあります。VCL.popupmenu と同じ動作をすると仮定するのは間違っていますか?

編集されたコード:

編集:回避策:

VCL.Menu を使用します。Firemonkey.menus の代わりに