Man leitet IntraWeb Formen von den Eltern und nicht TIWAppForm direkt - Fehler in IDE
-
19-09-2019 - |
Frage
Ich habe Formen in meiner Anwendung, die ich von einem gemeinsamen Vorfahren ableiten, wie:
TAtFormBaseIW = class (TIWAppForm) und TAtFormExplorerIW = class (TAtFormBaseIW)
Dies funktioniert für bestimmte Formen, aber nicht für andere.
Lassen Sie mich eine wilde Vermutung: es scheint, für alle Formen zu arbeiten, dass dort, wo vor in Delphi erstellt 10 bis IW, aber nicht für Formen I mit IW erstellt 10. Was mit neueren Formen geschieht: HWenever ich sie laden wollen in die IDE, sie als win32 Formen interpretiert werden, werden einige Eigenschaften ignoriert (alle typischen win32 Eigenschaften wie Clientwidth), und ich sagte mir, dass ich nicht IW Komponenten auf diesen Formen setzen können.
Dass sie direkte Nachkommen von TIWAppForm, sie zu speichern und einen normalen Texteditor sie Werke ändern zurück. Nach einer recompile zeigen sie fein im Browser, aber nie in dem IDE auf.
Jede Idee von dem, was geschieht?
Lösung
Mea culpa, mea maxima culpa. Dieses Problem hat nichts mit IntraWeb zu tun, sondern mit der Art und Weise eine abgeleitete Form sollte das Projekt hinzugefügt werden.
Statt nur TIWAppForm zu TAtFormBaseIW ändern, nachdem ein neues Formular zu dem Projekt hinzugefügt hat, soll ich dies tun:
Wählen Sie in der IDE
Datei / Neu / Sonstiges / Inheritable Artikel
und dann die Basis Form möchten Sie Ihre Form abzuleiten aus.
Wenn Sie eine bestehende Form in eine derivate drehen, auch das führende Schlüsselwort ändern Objekt in der DFM-Datei geerbt .
Sie können über dieses lesen hier .