AGB  ·  Datenschutz  ·  Impressum  







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

Registrieren von Klassen

Ein Thema von barnti · begonnen am 10. Nov 2004 · letzter Beitrag vom 11. Nov 2004
Antwort Antwort
Seite 3 von 3     123   
barnti

Registriert seit: 15. Aug 2003
Ort: Mal hier mal da...
689 Beiträge
 
Delphi 7 Enterprise
 
#21

Re: Registrieren von Klassen

  Alt 11. Nov 2004, 12:50
Hi Choose,

Zitat von choose:
Wie erlangst Du denn überhaupt die speziellen Daten, die zur Übergabe an den Konstruktor erforderlich sind im Augenblick der Erzeugung?
Das war nur ein Beispiel. Die Daten werde ich ebenfalls in der DB vorhalten. Das ist aber im Moment noch nicht so wichtig.

Entscheident ist, ich werde die Erzeugung der Objekte nur Vereinfachen können, indem ich der Abtrakten Fabrik den entprechenden Parameter für die Erzeugung mitgebe, wie von Dir dargetellt.
Ich denke damit habe ich erst einmal zu tun und damit ist mir auch erst einmal geholfen.
Solltest Du weitere Ideen, Anregungen oder Bmerkungen jeder Art haben, können wir hier gern weiterposten. Danke Dir!
Gruß,

Barnti
  Mit Zitat antworten Zitat
Benutzerbild von maximov
maximov

Registriert seit: 2. Okt 2003
Ort: Hamburg
548 Beiträge
 
Delphi 2005 Professional
 
#22

Re: Registrieren von Klassen

  Alt 11. Nov 2004, 14:29
Hi Barnti, hi Choose

kleine bemerkungen am rande:
Delphi-Quellcode:
TClassIndex = (Ansprechpartner,Auftrag,auftragstatus,benutzer,bereich,beschaedigung,config,
               container,dbdesigner4,dokument,foto,hafenplatz,kolli,Kunde,
               packliste,partie,partiestatus,partiekarte,pending,position,produktbeschreibung,
               produktgruppe,sql,unterpartie,userconfig,vertrag,zustaendigkeit);
TClassArray= array[Ansprechpartner..zustaendigkeit] of String;
Hier benutzt du zum definieren der array-grenzen eine range, die sowieso den gesammten bereich des enum-typs einschliesst. Dies kannst du auch so machen...
TClassArray= array[TClassIndex] of String; ...dann müsstest du nicht immer die array-deklaration anpassen. Darüber hinnaus frag ich mich, ob dieses array überhaupt von nöten ist? Denn man kann einen enum-wert auch leicht zu einem string auflösen. zB.:
Delphi-Quellcode:
uses typInfo;
...
function GetClassByClassIndex(const aClassIndex:TClassIndex):TPDObjectClass;
var clsName:strinf;
begin
  clsName := foramt('TPD%s',[getEnumName(TypeInfo(TClassIndex), integer(aClassIndex))]);
  result := findClass(clsName);
end;

function CreateObjectByClassIndex(const aClassIndex:TClassIndex):TPDObject;
var aClass:TPDObjectClass
begin
  aClass := GetClassByClassIndex(aClassIndex);
  if assigned(aClass) then
    result := aClass.create(<standard_params>)
  else
    result := nil;
end
Da eine metaklasse ja auch eine primitive fabrik ist, wäre das möglicherweise schon ausreichend. Hab aber dein problem auch nicht ganz kapiert. Für abstraktere lösungen bietet sich natürlich Choosens lösung an, oder eine kombination.

Vielleicht nütz das dir ja was. Und ich frag mich warum du als index ansonsten einen integer benutzt, der ja alles andere als eindeutig sein kann, bzw verrutschen könnte?
mâxîmôv.

{KDT}
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


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 03:42 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