Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Ist die Formularvererbung in Delphi 10.4 anders als in 10.0 (https://www.delphipraxis.net/208911-ist-die-formularvererbung-delphi-10-4-anders-als-10-0-a.html)

stephancramer 28. Sep 2021 08:53

Delphi-Version: 10.4 Sydney

Ist die Formularvererbung in Delphi 10.4 anders als in 10.0
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

ich stelle meine Projekte von 10.0 auf 10.4 um. Dabei habe ich festgestellt das bei einen TGridPanel
in einen abgeleiteten Formular die RowCollection

Delphi-Quellcode:
  inherited GridPanel1: TGridPanel
    RowCollection = <
      item
        Value = 47.995261238330710000
      end
      item
        Value = 52.252252252252260000
      end>
  end
ins Formular kopiert werden, wenn ich dieses Formular in Delphi geöffnet habe.

Danach bekomme ich den Fehler siehe Anhang, bis ich die RowCollection im abgeleiteten Formular wieder lösche.

Ist das ein Fehler von Delphi, oder gibt es eine neue Eigenschaft damit das nicht passiert.
In Delphi 10.0 wird die RowCollection nicht in das abgeleitete Formular eingefügt.

Gruß Stephan

Der schöne Günther 28. Sep 2021 09:57

AW: Ist die Formularvererbung in Delphi 10.4 anders als in 10.0
 
Das gibt es leider auch an hundert anderen Stellen als einer
Delphi-Quellcode:
GridPanel
Delphi-Quellcode:
RowCollection
.

Immer schön alle Formulare/Frames schließen, in der Versionskontrolle die ungewollten Änderungen rückgängig machen und dann kompilieren.

Andere Beispiele: hier oder hier.

Ein einfacher Ausweg könnte allerdings sein dass du dieses Krumme Verhältnis einmal auf 50.0 und 50.0 anpasst. Dann hätte die IDE vielleicht keinen Grund mehr die Zahl einzulesen, intern nicht exakt abbilden zu können und dann neu zu schreiben. Einen Versuch wäre es wert.

Ansonsten lebe ich notgedrungen seit vielen Jahren damit dass ständig etwas an den DFM-Dateien kaputt geht, meist durch widersprüchliche Redundanzen in den abgeleiteten Forms/Frames. Man muss immer schauen dass man nur die Änderungen in den DFM-Dateien übernimmt die man auch wirklich haben wollte.

stephancramer 28. Sep 2021 10:26

AW: Ist die Formularvererbung in Delphi 10.4 anders als in 10.0
 
Danke für die schnelle Antwort.

Ich habe jetzt als Übergangslösung auf allen DFM Dateien einen Schreibschutz gelegt, den ich dann bei einer Änderung für das eine Formular kurz wegnehme. Leider erkennt die IDE den Schreibschutz nur bei PAS-Dateien und nicht bei DFM-Dateien. Aber in die Datei schreiben kann die IDE nicht.

Gruß Stephan

Der schöne Günther 28. Sep 2021 10:37

AW: Ist die Formularvererbung in Delphi 10.4 anders als in 10.0
 
Oh, auf die Idee bin ich gar nicht gekommen. Toller Tipp, danke!

stephancramer 28. Sep 2021 13:18

AW: Ist die Formularvererbung in Delphi 10.4 anders als in 10.0
 
Das ist leider auch nicht die Lösung, wenn ich eine Änderung an der PAS mache, will Delphi die DFM auch speichern. Dann wird gemeckert da diese schreibgeschützt ist.

himitsu 29. Sep 2021 09:55

AW: Ist die Formularvererbung in Delphi 10.4 anders als in 10.0
 
Soeinen Fehler hab ich noch nicht bemerkt. (dabei sehen innen die DevExpress-Grids ja noch schlimmer aus)

Aber bezüglich Vererbung hatte, habe und werde ich weiterhin haben auch einen Fehler. (der eigentlich leicht zu lösen gewesen wäre, aber ich sag jetzt mal nichts Böses)
https://www.delphipraxis.net/207137-...entheight.html

Benmik 2. Okt 2021 12:40

AW: Ist die Formularvererbung in Delphi 10.4 anders als in 10.0
 
Nur so'ne Idee, falls es einen so nervt, dass es einem den Aufwand Wert ist: Man könnte ein Hintergrundprogramm mit einer Dateiüberwachung schreiben, das die IDE ruhig die DFM-Dateien ändern lässt, aber danach den vorherigen Zustand wiederherstellt. Falls das in der Praxis brauchbar ist, interessieren sich sicher noch weitere Anwender dafür.
Man könnte das mit Abfrage realisieren, so dass eigene Änderungen ohne weitere Mühe zugelassen werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz