問題タブ [tform]

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

delphi - カスタムコンストラクターをメインフォームとする Delphi フォーム?

カスタム コンストラクターを持つ BaseForm から派生した MainForm が必要です。これは Mainform であるため、*.dpr ファイルでApplication.CreateForm(TMyMainForm, MyMainForm)を呼び出すことによって作成されます。ただし、フォームの作成中にカスタム コンストラクターが呼び出されません。

MyMainForm := TMyMainForm.Create(AOwner)を呼び出すと、明らかに正常に動作します。カスタム コンストラクターを持つフォームをメイン フォームとして使用することはできませんか?

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

c++ - C++Builder で 2 つのフォームを実行する方法

情報を共有できることを嬉しく思います。

すみません、2 つの FORMS を同時に実行する方法を知っている人はいますか?

つまり、FORM1 の 1 つのボタンをクリックして FOR を実行し、FOR の値を FORM2 の LABEL に設定します。

FORM1 のいくつかのコード:

私はこれを見たいだけです:

if.... Form1->Label1->Caption= 1 の場合も 1 でなければForm2->Label1->Captionなりません。FORM2 は、最後の結果である 10,000 だけを表示します。

助けていただければ幸いです。ありがとうございました !

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

delphi - 埋め込みフォームの Show() を呼び出すと、親フォームが表示されます

アプリケーションで埋め込みフォームを使用していますが、次のようなことを試みていました。

設計時には、フォームは埋め込み/ドッキングについて何も知らない通常のフォームです。ButtonClick を使用すると、フォームの Show() メソッドを呼び出してフォームを表示できます。実行時に、フォームが別のフォームにドッキングされ、埋め込みフォームになることがあります。フォームを再度表示するためにボタンを押しても (現在は埋め込まれています)、埋め込みフォームを含むフォームに対して Show() を呼び出す必要があるため、何も起こりません。

埋め込みフォームの Show() メソッドが呼び出されたときに親フォームを強制的に表示するメソッドを探しています。Show() を呼び出す前に親フォームの存在を確認することでこれを処理できますが、この特定の処理を含めたくありません。

フォームがドッキングされたときに通知される親フォームでこの処理を行うことをお勧めします。

Show() メソッドは、Visible プロパティを true に設定するだけなので (RAD Studio ヘルプ)、メッセージが発生するとは思いません ...?

このようなことを実現する方法を知っていますか?

編集

プログラミングの問題というよりも設計上の問題だと思うので、アプリケーションに関する情報を掲載したいと思います。

アプリケーションは、接続されたハードウェアに適応するためにいくつかのプラグインを使用します。exe はドラッグ アンド ドック環境を提供し、ドッキング可能なフォームの基本クラスを含みます。プラグインには、ドッキングの実装に関する知識がありません。ドッキング可能なフォームを作成し、プラグインからフォームを埋め込むことで、プラグイン フォームはドッキング可能になります。これが、埋め込みフォームのメソッド Show() がどこかで呼び出されたときに表示される親フォームを取得したい理由です。

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

forms - Delphi - TForm とジェネリック

Delphi で、ジェネリックを使用して TForm から派生した基本フォーム クラスを定義できるかどうか疑問に思っています。私が取り組んでいるアプリケーションは、さまざまなハードウェア デバイス (シリアル ポート、USB、イーサネットなどを介して) と対話し、各デバイスがそのデバイスに固有のプロパティを含むプロパティ フォームを表示できるようにしたいと考えています。

これまでのところ、次のコードがあります...

問題は、フォーム デザイナーにアクセスしようとしたときに発生します。例として、TBaseForm には「OK」ボタンと「キャンセル」ボタンが含まれています。TDeviceForm に機能を追加したいのですが、デザイナを開こうとすると、次のエラーが表示されます...

フォーム作成エラー: ルート クラスが見つかりません: ""。

同様に、TGpsDeviceForm デザイナを開こうとすると、次のエラーが発生します...

フォーム作成エラー: 'TSerialDeviceForm' の祖先が見つかりません。

Delphi フォーム デザイナーはジェネリックを処理できないと思いますが、この問題を回避するためのより良い方法はありますか?

DFM ファイルでは、TBaseForm 以外のすべてについて、最初の行を次のように変更しました。

オブジェクト DeviceForm: TDeviceForm から継承された DeviceForm: TDeviceForm

しかし、これは違いはないようです。

誰でもアドバイスを提供できますか?前もって感謝します!

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

delphi - パネルに Delphi フォームを表示するにはどうすればよいですか?

http://docwiki.embarcadero.com/CodeExamples/XE7/en/FMXEmbeddedForm_(Delphi)の例に従おうとしましたが、明らかに読み取り専用である TCustomForm の子で最初の問題に遭遇したので、コメントしましたそれをArgForm.Parent:= ArgParent;代わりに入れますが、まだ空の画面が表示され、2番目のフォームにあるボタンが表示されません。

私のメインフォームのコードは次のとおりです。

メインフォームのパネルに配置するフォームのコードは次のとおりです。

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

delphi - フォームのグローバル変数を使用してパネルに配置するにはどうすればよいですか?

これは私の質問の続きです:パネルに Delphi フォームを表示するにはどうすればよいですか?

フォームのグローバル変数を使用してパネルに埋め込んで表示したいのですが、ボタンなしで埋め込むフォームのみを作成します。

実行可能ファイルのコードでは、次のように、最初に埋め込むフォームと、2 番目に埋め込むフォームを作成しています。

メイン フォームのコードは次のとおりです。

埋め込むフォームのコードは次のとおりです。