Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.136 Beiträge
 
Delphi 12 Athens
 
#25

AW: Verwaltung aller Forms eines Programms

  Alt 7. Jan 2021, 20:11
Ob 1500 Forms viel sind kommt halt auf die Art des Projektes an...
Und auch ob wirklich ALLE Forms bei Programmstart geladen werden.
Screen.Forms hilft nur, wenn alle Forms dort geladen sind.

Wenn man die meisten Forms nur dann erstellt, wenn sie wirklich benutzt werden, dann braucht man eine Liste der TFormClass, bzw. könnte auch über die RTTI gehn.



Es gab irgenwo ein Projekt/Komponente, die sich an eine VCL-Form hängt und das auf einen Canvas im Browser umbiegt (kopiert), bzw. die Klicks von dort in Anwendung/Form zurück schickt.
Aber davon würde ich eher abraten.
Abgesehn davon: ALLE Forms laden, dann noch das Programm mehrmals starten ... da braucht man dann einen sinnlos unnötig großen Rechner.

Da gibt es für Web-Application wesentlich bessere Methoden, aber bedeutet natürich erstmal ein paar Umbauarbeiten.
Selbst Borland hat/hatte da was, womit deren altes BDN/EDN Webseite gebaut war, aber das will wohl niemand feiwillig benutzen, wenn er sieht/sah wie "flott" das dort läuft/lief.



PS:
Bei uns sind die Forms in DLLs verteilt und werden über DLL-Exports eingebunden.
= Aufruf über DLLName+ExportMethode, bzw. über eine MappingTabelle mit TFormKlassenName->DLLName+ExportMethode

Zusätzlich gibt es DFMs für Eingabemasken in einer Tabelle. Daraus wird beim Schließen ein SQL generiert und benutzt, oder als WHERE für das nächste Fenster benutzt.
Solche DFMs, zusammen mit einem Scripting, könnte man auch direkt benutzen.
Script-Sprachen gibt es Viele (sogar mehrere PascalScript) und es gibt von mehreren Anbietern auch einen FormDesigner und ObjektInspektor, zum Einbau ins eigene Programm.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu ( 7. Jan 2021 um 20:22 Uhr)
  Mit Zitat antworten Zitat