Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Datamodule wird zu Formular (https://www.delphipraxis.net/186858-datamodule-wird-zu-formular.html)

mm1256 8. Okt 2015 09:31

AW: Datamodule wird zu Formular
 
Zitat:

Zitat von Sir Rufo (Beitrag 1318001)
PS Dieses manuelle Ableiten funktioniert (halbwegs) nur bei Formularen, denn es wird automatisch angenommen, dass es sich um ein Formular handelt. Empfohlen ist diese Vorgehensweise aber nicht.

Kann ich absolut bestätigen, würde sogar weiter gehen und sagen, das tut man einfach nicht, weil's Probleme gibt. Darum habe ich auch in #2 schon nach der DFM gefragt. Ich nutze die Datenmodul-Vererbung intensiv schon seit mehreren Jahren, weil ich Apps habe, die sowohl mit embedded Datenbank als auch mit externem DB-Server arbeiten. Da ist die DM-Vererbung eine prima Sache und hat mir auch noch niemals Probleme bereitet.

Uwe Raabe 8. Okt 2015 09:34

AW: Datamodule wird zu Formular
 
Zitat:

Zitat von OlafSt (Beitrag 1318014)
Allerdings sind alle Datamodules "per Hand" abgeleitet, von daher muß da noch was anderes im Busch sein - aber wie schon erwähnt wurde, dürfte das in der IDE und ein Fix in sehr weiter Ferne liegen :wink:

Liegt definitiv nicht an der IDE, sondern immer am User!

Das Ableiten "per Hand", also das einfach Ändern der Parent-Klasse in der PAS-Datei funktioniert immer dann, wenn die Klasse (Datamodule, Frame oder Form) bereits von einem TForm-, TFrame bzw. TDataModule-Abkömmling abgeleitet ist. Dann steht in der DFM nämlich schon inherited drin. Nur wenn man
Delphi-Quellcode:
class(TForm)
in
Delphi-Quellcode:
class(TBaseForm)
oder
Delphi-Quellcode:
class(TDataModule)
in
Delphi-Quellcode:
class(TBaseDM)
ändert, muss man die DFM anpassen und aus dem object ein inherited machen.

Man muss sich halt nur klar machen, daß einfache Klassenvererbung per Deklaration und Formvererbung, die dann ja auch bei Frames und Datenmodulen verwendet wird, eben nicht dasselbe sind.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:00 Uhr.
Seite 2 von 2     12   

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