AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Spezieller TFrame

Ein Thema von hzzm · begonnen am 19. Mär 2019 · letzter Beitrag vom 22. Mär 2019
Antwort Antwort
hzzm

Registriert seit: 8. Apr 2016
103 Beiträge
 
Delphi 10 Seattle Professional
 
#1

AW: Spezieller TFrame

  Alt 20. Mär 2019, 13:50
Ich hab dein Problem offenbar nicht richtig verstanden. Dir fehlte wirklich nur eine Kleinigkeit zum Erfolg: Bei Designerklassen fängt das DFM-File mit dem Keyword "object" an, wenn direkt von TForm, TFrame, oder TDatamodule abgeleitet wird. Wenn von einer anderen Klasse abgeleitet wird, die schon ein DFM-File hat (dein Fall) muss das DFM-File der abgeleiteten Klasse aber mit "inherited" anfangen, nicht mit "object". Wenn Du also den Ancestor im Editor manuell änderst mußt Du danach mal kurz "view form as text" machen, das erste object in inherited ändern, und dann wieder in den Form-View zurück gehen.
Genau, das war die Loesung, auf die ich auch nach ewigem getanze gekommen bin, mit einem Wermutstropfen:

Es war notwendig, die TFrame-Abgeleitete Basisklasse, die man TMyCoolFrame zur Ableitung reicht, vollstaendig leer zu erstellen, dann als Basisklasse anzugeben.
Wenn dieses Konstrukt zusammen mit dem "inherited" in der .dfm statt "object" mal steht, kann man in der Basisklasse aendern, was man will.

Geändert von hzzm (20. Mär 2019 um 14:06 Uhr)
  Mit Zitat antworten Zitat
peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
724 Beiträge
 
Delphi 12 Athens
 
#2

AW: Spezieller TFrame

  Alt 21. Mär 2019, 11:30
Genau, das war die Loesung, auf die ich auch nach ewigem getanze gekommen bin, mit einem Wermutstropfen:

Es war notwendig, die TFrame-Abgeleitete Basisklasse, die man TMyCoolFrame zur Ableitung reicht, vollstaendig leer zu erstellen, dann als Basisklasse anzugeben.
Wenn dieses Konstrukt zusammen mit dem "inherited" in der .dfm statt "object" mal steht, kann man in der Basisklasse aendern, was man will.
Es ist definitiv nicht nötig, mit einer leeren Basisklasse anzufangen. Die IDE hat aber ein Problem, wenn man eine Instanz eines Frames auf einem Form hat, daran dort etwas ändert, und danach dann an der Frameklasse selbst was ändert. Die IDE erkennt das nicht immer korrekt, mitunter muß man manuell im Designer aus dem Kontextmenu für das eingebettete Frame ein "revert to inherited" machen, damit die Änderungen an der Frameklasse übernommen werden. Visual form inheritance hat so seine Macken...
Peter Below
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz