![]() |
AW: Beliebige Klasse instanzieren
Zitat:
|
AW: Beliebige Klasse instanzieren
Zitat:
Zitat:
|
AW: Beliebige Klasse instanzieren
Wenn das ein paar Zeilen sind, hast du denn eine Implementierung hierfür?
Deine ist ja keine Lösung und die im Netz verkürzen das Problem auf eine Methode die überladen wird. Sicher eine Lösung aber danach hab ich ja nicht gefragt. |
AW: Beliebige Klasse instanzieren
Zitat:
![]() ![]() ![]() ![]() |
AW: Beliebige Klasse instanzieren
Zitat:
Der Factory müssen die Implementationen bekannt sein... Ob die an der Factory registriert werden und in einem Dictionary gespeichert oder ob die Factory ne große Case hat... Kommt unterm Strich aufs selbe raus... Beispiel: Datenbankverbindung... Unit A will Datenspeichern... Dafür bietet Unit B ein Interface Unit C ist die Factory... Unit A linkt nur gegen Unit B und Unit C Unit C kennt die Implementationen Unit D -> Speichert in lokaler Datenbank Unit E -> Speichert auf Server per REST,SOAP oder was auch immer... Unit C kennt D & E (Case/If Fall) Unit C kennt nix bietet aber eine Registirerungsmethode (Beispiel Plattformservices) Unit A sagt: IDatenbank := UnitC.DatenbankFactory('Local'); oder IDatenbank := UnitC.DatenbankFactory('Remote'); Jetzt kann UnitC anhand des Strings die richtige Implementation liefern... Es gibt noch eine weitere Implementation.. ggf. in Zukunft?
Delphi-Quellcode:
bzw:
IDatenBank := UnitC.DatenbankFactory('Cloud');
if IDatenbank = NIL raise ENotImplemented.Create('Cloud-Datenbank ist nicht implementiert');
Delphi-Quellcode:
Mavarik
IDatenBank := UnitC.DatenbankFactory<DatenbankInterface>('Cloud');
if IDatenbank = NIL raise ENotImplemented.Create('Cloud-Datenbank ist nicht implementiert'); |
AW: Beliebige Klasse instanzieren
Dir ist aber schon bewusst das es einen Unterschied gibt zwischen dem Factory-Pattern und der ObjectFactory?
|
AW: Beliebige Klasse instanzieren
Zitat:
|
AW: Beliebige Klasse instanzieren
Zitat:
Zitat:
Daher habe ich gefragt, ab welcher Delphi Version der vorgeschlagene Typecast funktioniert. Werde es aber mit Turbo Delphi und dann Delphi 7 gleich mal testen, od das da auch klappt. |
AW: Beliebige Klasse instanzieren
Zitat:
Stimmt in der Regel nie! Zitat:
![]() |
AW: Beliebige Klasse instanzieren
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
In diesem Fall war das aber schon korrekt mit XE7 angegeben. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:04 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 by Thomas Breitkreuz