AGB  ·  Datenschutz  ·  Impressum  







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

Zwischen virtuellen Formularen wechseln und suchen

Ein Thema von needatip · begonnen am 16. Apr 2019 · letzter Beitrag vom 17. Apr 2019
Antwort Antwort
peterbelow

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

AW: Zwischen virtuellen Formularen wechseln und suchen

  Alt 16. Apr 2019, 17:02
Ich würde das Ganze völlig anders organisieren.

Definiere einen enumerated type, der die Entitäten listet, die Du anzeigen und bearbeiten mußt:

Type
TBusinessEntity = (beKunde, beRechnung, ....);

In deinem TTreeData-Record würde ein Feld dieses Typs beschreiben, welche Art von Daten der Record enthält, als Ersatz für deinen FormIndex.

Für jede dieser Entities baust Du ein Form (oder besser ein Frame), das die zugehörigen Daten anzeigen kann. Alle diese Forms/Frames sind von einer Basisklasse abgeleitet (Stichwort visual form inheritance), von der sie eine public Methode oder ein interface erbene, mit deren Hilfe man dem Form/Frame z. B. ein TTreenode übergeben kann, um es mit Daten zu füllen.

Dann brauchst Du noch eine Factory für diese Forms, in der jede der Klassen sich registriert, zusammen mit dem TBusinessEntity-Wert, für das sie gedacht ist. Das erfolgt jeweils im Initialization-Teil der zugehörigen Unit; die Factory selbst (eine Singleton) sitzt in einer eigenen Unit.

Dein

case NodeData.FormIndex of

wird dann ersetzt durch

NewForm := Factory.CreateUIFor(Nodedata.Entity);

Wenn das Kundenform eines für eine Rechnung braucht, verwendet es einfach

RechnungsForm := Factory.CreateUIFor(beRechnung);

Damit hast Du nicht nur eine vollständige Entkopplung von Mainform und den anderen (die mainform-Unit kennt nur die Factory,den enumerated type und die Basisklasse für die Forms), das Gerüst ist auch einfach erweiterbar, wenn Du neue Entities unterstützen mußt.
Peter Below
  Mit Zitat antworten Zitat
needatip

Registriert seit: 11. Jan 2004
246 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Zwischen virtuellen Formularen wechseln und suchen

  Alt 17. Apr 2019, 14:59
Danke erstmal.
Hört sich gut an, muss mich aber da erst mal reindenken. Ob ich das selber hinkriege bezweifle ich
  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 18:01 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