2

アプリケーションには、次のような共通の祖先から派生したフォームがあります。

TAtFormBaseIW = class(TIWAppForm)およびTAtFormExplorerIW = class(TAtFormBaseIW)

これは特定のフォームでは機能しますが、他のフォームでは機能しません。

大げさな推測をさせてください。IW10より前にDelphiで作成されたすべてのフォームで機能するようですが、IW 10で作成したフォームでは機能しないようです。新しいフォームで何が起こるか:HWeneverIDEにロードしたい場合はそれらはwin32フォームとして解釈され、一部のプロパティは無視され(ClientWidthなどのすべての一般的なwin32プロパティ)、これらのフォームにIWコンポーネントを配置できないと言われています。

それらをTIWAppFormの直接の子孫にし、それらを保存し、通常のテキストエディタを使用してそれらを元に戻します。再コンパイル後、ブラウザには正常に表示されますが、IDEには表示されません。

何が起こっているのかについて何か考えはありますか?

4

1 に答える 1

1

Mea culpa、meamaximaculpa。この問題はIntraWebとは関係ありませんが、派生フォームをプロジェクトに追加する方法とは関係ありません。

プロジェクトに新しいフォームを追加した後、TIWAppFormをTAtFormBaseIWに変更するだけでなく、次のようにする必要があります。

IDEで選択

ファイル/新規/その他/継承可能なアイテム

次に、フォームの派生元となる基本フォーム。

既存のフォームを派生語に変換する場合は、dfmファイルの先頭のキーワードオブジェクトも継承に変更します。

あなたはここでこれについて読むことができます。

于 2010-02-09T10:58:25.983 に答える