問題タブ [delphi-xe7]

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 投票する
8 に答える
9526 参照

delphi - DelphiでEProgrammerNotFound例外?

Delphi 2009 では、SysUtils.pas の 425 行目に次の内容が含まれています。

  • これは単なるイースターエッグですか、それとも何か深刻なことですか?
  • この例外はいつ発生する必要がありますか?
  • Delphi Prism や Free Pascal にも存在しますか?

Q: この例外クラスは Delphi (現在 XE7) でも宣言されていますか? A: はい、文書化されています。

ソフトウェアの障害を示す非標準的な方法。

代わりに EProgrammerNotFound を使用して、実行時に検出されたソフトウェア障害を示すことができます。

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

delphi - Delphi xe7 でコントロールを削除できない

Delphi xe7をインストールしました。XE7 で開発されたプロジェクトを開きました。補足ですが、私の最初の懸念は、「ビュー」をマスターから iPhone4 に変更するか、単にデザイン ビューでコントロールをドラッグするだけで、IDE がハングすることです。私は以前、TComboEdit パラメーターを受け入れる関数を備えたツール ユニットを持っていました。機能が壊れているため、再び移動したようです。コンボ編集をホストするユニットをすばやく見つけるために、フォームを開いてコンボ編集をドロップダウンして保存しました。いいですね。FMX.ComboEdit ユニットがあることがわかりました。コンボ編集を削除しようとすると、次のようになります。Selection contains a component, ComboEdit1, introduced in an ancestor and can not be deleted.

これは、フォームにドロップする新しいコントロール (TEdits など) にも当てはまります。何も削除できません。クイック グーグル検索は、TGrid と列への参照を作成します... 私のフォームには、新しく配置されたコントロールが TabItem 内にある Layouts と TabControl のみがあります。さて、TabItems にも同様のバグがあるかもしれないので、コントロールを移動して、フォームを親にしようとしました。ただし、IDE は約 30 秒間ハングし、何もしません。

Delphi xe7でこれらのコントロールを削除するにはどうすればよいですか?

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

delphi - Delphi XE7 FMX で端末コマンドを実行する

Delphi xe6-7 OSX アプリケーション経由で端末コマンドを実行するにはどうすればよいですか? たとえば、iTunes プレイリストからすべてのトラック名を返すスクリプトを実行したいと考えています。

VCL と WINDOWS では ShellExecute() 関数を実行できますが、FMX で OSX に相当するものを見つけることができないようです。

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

android - datasnap を使用して clientdataset からイメージをロードする際のエラー [Delphi XE7、firemonkey モバイル]

Delphi XE7、Firemonkey Mobile を使用しています。W32 と Nexus4 (Android 4.4.4) の両方で試しました。

問題: clientdataset からイメージをロードすると、次のエラーが発生します。 1. リモート エラー: [FireDAC]{Phys][fB]-306。コマンド テキストを空にすることはできません。(接続) 2. CDS に既にデータが含まれているにもかかわらず、ソケット エラーが発生する (接続なし)

Firebird DB --> Firedac --> Datasnap [サーバー] --> DBX 接続 --> DSProviderconnection --> Clientdatasets

サーバー上のデータセットプロバイダーには、次のオプションが設定されています。 - poFetchBlobsOnDemand - poAllowCommandText

ロードされたフィールドは実際には blob フィールドであり、データが含まれています。

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

ios - Delphi Xe7 Firemonkey でのカスタム モバイル スタイルの作成

Delphi xe7でゼロからカスタムスタイル/デザインを作成する方法を誰かが知っているかどうか疑問に思っていました. 私が達成できたのは、スタイルを含むビットマップ ファイルを置き換え、色を変更して新しいスタイルとして保存することで、以前のスタイルを編集することです。短期的には良かった。その方法では、新しいスタイルを作成する際にわずかな変更しかできません。スタイルとしてこのようなものを作成する方法があるかどうか疑問に思っていました - http://www.pixeden.com/mobile-apps/ligavit-iphone-app-ui-キット-psd . 私が本当に目指しているのは、とても魅力的な外観です。Photoshop の経験が豊富なデザイナーがいて、複雑なスタイルを Delphi xe7 に適応させる方法を探しています。誰かがそれを助けることができれば、それは大歓迎です!

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

delphi - LiveBinding とデータセットで使用するときに TProgressColumn を機能させる方法

私の目標は、LiveBindings を介して TClientDataSet に接続された、いくつかの列を持つ TGrid を持つことです。列の 1 つは TProgressColumn 型です。

グリッドにはデータが表示されますが、進行状況バーの列には何も表示されません (つまり、進行状況 0%)。

TProgressColumn は ftInteger 型のフィールドに接続されています。このフィールドの値は 0 ~ 100 です。

ftSingle で試してみましたが、うまくいきませんでした。TLinkGridToDataSourceBindSourceDB/Columns の下にある ColumnStyle プロパティを使用して、列のタイプを TProgressColumn に設定します。

奇妙なことに、TPrototypeBindSource を使用して値を生成すると、TProgressColumn は機能しますが、ftUInteger 値に対してのみ機能します。ftInteger ジェネレーターでは失敗します。

ここに小さなデモがあります (Delphi XE7):

TProgressColumn の問題

TProgressCell.DrawCell() にブレークポイントを設定し、Value.IsOrdinal と Value.IsType の 2 つの条件をステップ オーバーすると、スキップされ、ClampValue は 0 である値「Min」を受け取ります。渡された値に何か問題があるようです。関数に。

TProgressColumn を使用する際に何か特別なことはありますか? TLinkGridToDataSourceColumn で CustomFormat、CustomParse を使用する必要がありますか?

それはバグですか、それとも何か見逃していますか?

UPDATE: 「のんぱ」のおかげで謎が解けました!

実際、「asInteger」は TField クラスのよく知られたプロパティです。

TProgressColumn - 解決済み!

CustomFormat プロパティでは、self.asInteger プロパティを含む多くのものにアクセスできます。詳細はこちら:

  1. LiveBinding でのカスタム フォーマットおよび解析式の使用
  2. TLinkPropertyToField コンポーネントの CustomFormat プロパティでバインディング式を使用する
  3. フィールドのフォーマット
  4. 整数フィールドをブール値として扱うには?
0 投票する
2 に答える
2805 参照

delphi - テキスト プロンプト Delphi XE7

Embacadero に QC レポートを提出する前に、TEdit と 'TextPrompt' プロパティの設定に関して見落としている単純なものがあるかどうかを知りたいと思いました。

TEdit の TextPrompt を設定しようとすると、プロンプトが表示されません。手順が抜けているのでしょうか、それとも現在誰かが知っているこのバグの簡単な回避策はありますか?

iOS 用 Delphi XE7 ( FMX )

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

json - TJson.ObjectToJsonObject/ObjectToJsonString がレコード フィールドを JSON 配列として表すのはなぜですか?

SuperObject と TJson.ObjectToJsonObject がクラスの特定の部分 (つまり、Record フィールド) を表す方法には一貫性がありません。次のコード スニペットを見てみましょう。

出力は次のとおりです。

Delphi がレコードを JSON 配列として表現する理由は何ですか? これにつながる公的基準または提案はありますか?

注: 私にとっては、配列ではなく {key: value} 表記でレコードを表す方が自然です。値が属するキー名がわからない場合、逆シリアル化中に奇妙な結果が生じる可能性があります。たとえば、逆シリアル化中に、異なるメモリ レイアウトのレコードを含む、同じレイアウトの新しいクラスを渡すことができます。この場合、値はランダムに割り当てられますか、それとも AV が発生する可能性がありますか?

更新: Delphi XE7 を使用しています。また、json.orgのこれを見つけました:

JSON は、次の 2 つの構造で構築されています。

  • 名前と値のペアのコレクション。さまざまな言語で、これはオブジェクト、レコード、構造体、辞書、ハッシュ テーブル、キー付きリスト、または連想配列として実現されます。
  • 値の順序付きリスト。ほとんどの言語では、これは配列、ベクトル、リスト、またはシーケンスとして実現されます。

おそらく問題は、これは TJson ユニットのバグですか?