問題タブ [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.
delphi - カスタムコンストラクターをメインフォームとする Delphi フォーム?
カスタム コンストラクターを持つ BaseForm から派生した MainForm が必要です。これは Mainform であるため、*.dpr ファイルでApplication.CreateForm(TMyMainForm, MyMainForm)を呼び出すことによって作成されます。ただし、フォームの作成中にカスタム コンストラクターが呼び出されません。
MyMainForm := TMyMainForm.Create(AOwner)を呼び出すと、明らかに正常に動作します。カスタム コンストラクターを持つフォームをメイン フォームとして使用することはできませんか?
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 だけを表示します。
助けていただければ幸いです。ありがとうございました !
delphi - 埋め込みフォームの Show() を呼び出すと、親フォームが表示されます
アプリケーションで埋め込みフォームを使用していますが、次のようなことを試みていました。
設計時には、フォームは埋め込み/ドッキングについて何も知らない通常のフォームです。ButtonClick を使用すると、フォームの Show() メソッドを呼び出してフォームを表示できます。実行時に、フォームが別のフォームにドッキングされ、埋め込みフォームになることがあります。フォームを再度表示するためにボタンを押しても (現在は埋め込まれています)、埋め込みフォームを含むフォームに対して Show() を呼び出す必要があるため、何も起こりません。
埋め込みフォームの Show() メソッドが呼び出されたときに親フォームを強制的に表示するメソッドを探しています。Show() を呼び出す前に親フォームの存在を確認することでこれを処理できますが、この特定の処理を含めたくありません。
フォームがドッキングされたときに通知される親フォームでこの処理を行うことをお勧めします。
Show() メソッドは、Visible プロパティを true に設定するだけなので (RAD Studio ヘルプ)、メッセージが発生するとは思いません ...?
このようなことを実現する方法を知っていますか?
編集
プログラミングの問題というよりも設計上の問題だと思うので、アプリケーションに関する情報を掲載したいと思います。
アプリケーションは、接続されたハードウェアに適応するためにいくつかのプラグインを使用します。exe はドラッグ アンド ドック環境を提供し、ドッキング可能なフォームの基本クラスを含みます。プラグインには、ドッキングの実装に関する知識がありません。ドッキング可能なフォームを作成し、プラグインからフォームを埋め込むことで、プラグイン フォームはドッキング可能になります。これが、埋め込みフォームのメソッド Show() がどこかで呼び出されたときに表示される親フォームを取得したい理由です。
forms - Delphi - TForm とジェネリック
Delphi で、ジェネリックを使用して TForm から派生した基本フォーム クラスを定義できるかどうか疑問に思っています。私が取り組んでいるアプリケーションは、さまざまなハードウェア デバイス (シリアル ポート、USB、イーサネットなどを介して) と対話し、各デバイスがそのデバイスに固有のプロパティを含むプロパティ フォームを表示できるようにしたいと考えています。
これまでのところ、次のコードがあります...
問題は、フォーム デザイナーにアクセスしようとしたときに発生します。例として、TBaseForm には「OK」ボタンと「キャンセル」ボタンが含まれています。TDeviceForm に機能を追加したいのですが、デザイナを開こうとすると、次のエラーが表示されます...
フォーム作成エラー: ルート クラスが見つかりません: ""。
同様に、TGpsDeviceForm デザイナを開こうとすると、次のエラーが発生します...
フォーム作成エラー: 'TSerialDeviceForm' の祖先が見つかりません。
Delphi フォーム デザイナーはジェネリックを処理できないと思いますが、この問題を回避するためのより良い方法はありますか?
DFM ファイルでは、TBaseForm 以外のすべてについて、最初の行を次のように変更しました。
オブジェクト DeviceForm: TDeviceForm から継承された DeviceForm: TDeviceForm
しかし、これは違いはないようです。
誰でもアドバイスを提供できますか?前もって感謝します!
delphi - パネルに Delphi フォームを表示するにはどうすればよいですか?
http://docwiki.embarcadero.com/CodeExamples/XE7/en/FMXEmbeddedForm_(Delphi)の例に従おうとしましたが、明らかに読み取り専用である TCustomForm の子で最初の問題に遭遇したので、コメントしましたそれをArgForm.Parent:= ArgParent;
代わりに入れますが、まだ空の画面が表示され、2番目のフォームにあるボタンが表示されません。
私のメインフォームのコードは次のとおりです。
メインフォームのパネルに配置するフォームのコードは次のとおりです。
delphi - フォームのグローバル変数を使用してパネルに配置するにはどうすればよいですか?
これは私の質問の続きです:パネルに Delphi フォームを表示するにはどうすればよいですか?
フォームのグローバル変数を使用してパネルに埋め込んで表示したいのですが、ボタンなしで埋め込むフォームのみを作成します。
実行可能ファイルのコードでは、次のように、最初に埋め込むフォームと、2 番目に埋め込むフォームを作成しています。
メイン フォームのコードは次のとおりです。
埋め込むフォームのコードは次のとおりです。