問題タブ [delphi-xe3]
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.
sql-server - Delphi XE 3 LiveBindings AutoInc SQL Server
SQL Server への LiveBinding を備えた Delphi XE3 Firemonkey アプリがあります。グリッド上のすべてのデータを接続して表示できます。SQL の「ID フィールド」(より一般的には AutoInc として知られている) であるフィールド (「id」) があります。
レコードを追加しようとすると、「フィールド 'id' には値が必要です」というメッセージが表示されます。
これまでは、必須フィールドのブール値をオフにすることでこれを修正していました。(たとえば、DBISAM では、データベース自体のフィールドを不要にし、そこに到達すると DB エンジンが入力しますが、MSSQL で ID フィールドを不要にすることはできません。)
TField 自体の要件をオフにしましたが、効果はありません。
delphi - firemonkey xe3 xe2 TPath
コードに従って実行すると、パスはxe2では形が良くなりますが、xe3ではばかげています。
delphi - Firemonkey ドラッグ画像が画面に表示されない
次の最初の画像は仮想マシンから取得したもので、2 番目の画像は実際の PC から取得したものです。ドラッグした画像が実際の PC に表示されないのはなぜですか?
仮想マシン
リアルPC
delphi - WebApplication.SendFileが「応答タイプがすでに設定されている」と失敗するのはなぜですか?
手順:
- を使用して新しいIntraWebアプリケーションを作成しました
IntraWeb Application Wizard
。 - フォームにTIWButtonを配置しました。
- このコードをOnClickイベントハンドラーに配置します。
WebApplication.SendFile('D:\Temp\ClearAll.sql');
ボタンをクリックするException
と、メッセージ付きのタイプの例外が発生しますReply type already set
。
何が悪いのか考えてみませんか?
Delphiは、IntraWebXIVを備えたXE3です。
Deplhi 2007(IntraWeb 9)でも同じことを試しましたが、動作するので、これはIntraWebXIVのバグのようです。
誰かがこれを確認できますか?
delphi - Firemonkey livebindings カスタム グリッド列
TGrid にいくつかのカスタム列を追加しようとしました。たとえば、TCalendarEdit で構成される列を DB にライブバインドします。
このようなものを実装する方法として、2 つの方法を考え出しました。
CalendarEdit をすべての行に配置します。
問題は次のとおりです。カスタム TCalendarEdit 列を作成 してグリッドに配置できます が、それをデータセット にライブバインドする と、デフォルトの文字列列ビューにドロップされます!
TDateColumn = class(TColumn)
protected
function CreateCellControl: TStyledControl; override;
end;
function TDateColumn.CreateCellControl: TStyledControl;
begin
Result := TDateCell.Create(grid);
Result.Parent := grid;
end;
procedure TForm1.FormCreate(Sender: TObject);
var
cec: TDateColumn;
begin
cec:=TDateColumn.Create(grid1);
grid1.AddObject(cec);
end;LinkGridToDataSource1.Columns.Items[LinkGridToDataSource1.Columns.Count-1].MemberName:='date';
グリッドセルにコントロールを描画し、それをクリックして破棄し、グリッド上の他の場所をクリックします(データをグリッドに書き込みます)。
問題は次のとおりです:セルOnClickの座標とサイズを取得するにはどうすればよいですか?
ありがとうございました。
performance - XE3 の自動更新によるライブ バインディング (XE2 のように Notify() を呼び出す必要はありません)
私は現在 Delphi XE2 を使用しており、XE3 での自動更新による新しい Live Binding について聞きました (XE2 のように Notify() を呼び出す必要はありません)。
C# または Delphi XE2 ではINotifyPropertyChanged
( Notify();
Delphi で) 実装する必要がありますが、このアプローチは本当に理にかなっています。なぜなら、更新するコンテンツといつ更新するかを完全に制御できるため、パフォーマンスを微調整して仮想化を簡単に実装できるからです。
しかし、私はそれがどのように機能するのか、それを実装するために彼らがどのようなメカニズムを行ったのかを知りたいだけであり、彼らがどのようにそれを行ったのかわかりません。自動更新を実装するために使用された可能性のある仮定は次のとおりです.
タイマー : タイマーが頻繁に作動し、すべてのデータを更新します
パフォーマンスが非常に遅い 仮想化なし
コンパイラ レベルの機能 :
notify() events
コンパイラによって自動的に実装されるすべての関連コードオーバーヘッドが多い
いくつかの他のアプローチ:
彼らがそれをどのように実装したかを特定するのを手伝ってください。
現在、XE3 の試用版を使用しているため、ソース コードにアクセスできません。あなたの回答は、新しい機能に切り替えるかどうかを決定するのに役立ちます。
バインドする 400 個のプロパティを持つクラス (コレクション アイテム) があるため (常にすべてではありません)、アプリケーションの安定性においてパフォーマンスが大きな役割を果たします。
delphi - Delphi で特定のインターフェイスの一般的なリストを作成できますか?
C# では、次のような特定のインターフェイスを含む汎用リストを作成できます。
Delphi XE3 で同じことを行うことはできますか?
インターフェイスのリストを格納するために TInterfaceList を作成できることはわかっていますが、厳密に型指定されていないため、リスト内のオブジェクトを使用するときにキャストする必要があります。
これを行う強く型付けされた方法はありますか?
macos - Filesetattr は XE3 (Firemonkey) では使用できません
Firemonkey(XE3)でmacosX環境下に隠しiniファイルを作りたいです。残念ながら、このコマンドは system.utilys ではもう知られていません
誰かヒント?
delphi - DelphiXE-System.Pos関数のより高速な代替
FastStringsの多くのコードがDelphiXEに含まれていることを私は知っています。数千のファイルを処理し、テキスト処理を行う必要があります。System.Posルーチンの「より高速な」代替手段はありますか?
delphi - Delphi XE2 RTTIが壊れていますか?
最近、D2010からDXE2に移行し、クラス内のTBytesフィールドのRTTI生成に関連するXE2およびXE3(友人のXE3でテスト済み)にショートッパーのバグ(または機能?)を見つけました。
クラス内のTBytes変数のRTTI情報が生成されないことがわかりました。
次のコードはD2010で正常に機能しますが、XE2/XE3で「エラー」というメッセージが表示されます。
誰か手がかりはありますか?これにより、すべてのソフトウェアデータシリアル化の実装が完全に破壊されます
コードをテストするには、Rttiユニットをuses宣言に追加してください
FieldTypeは常にnilであるため、TBytesであるField2をチェックすると、エラーメッセージが表示されます。
D2010からRTTIで何が変更されたのかXE2の手がかりを持っている人はいますか?おそらく、TBytesタイプがByteの配列から汎用配列に変更されたためですか?