Thema: Delphi Registrieren von Klassen

Einzelnen Beitrag anzeigen

barnti

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

Re: Registrieren von Klassen

  Alt 11. Nov 2004, 10:42
Hi Choose,

ok das habe ich soweit geblickt. Um das Ganze noch einmal zu festigen:
Delphi-Quellcode:
TPersistent
     |
TPDObject // Allgemeine Klasse, die die gameinsamen Eigenschaften aufnimmt
     |
TPDAppObject // Klaase, die für diese Anwendung spezifische Eigenschaften beinhaltet
     |
TPDAnsprechpartner // Spezielle Eigenschaften und Methoden für die Behandlung einer speziellen Tabelle
Wenn ich jetzt in meiner Anwendung mit der Tabelle 'Ansprechpartner' arbeiten will, geschieht folgendes:
Delphi-Quellcode:
// Interface über das das Arbeiten mit einer Klasse veröffentlicht wird(Schnittstelle)
function TPDInterface.GetPDObject(Index: Integer): TPDObject;
var
  pdClass: TPDObjectClass;
begin // ergibt 'Ansprechpartner'
  pdClass:= findClass('TPD'+ClassArray[TClassIndex(index)]);

  // Array das Objekte vom Typ 'TPDObject speichert'
  if FPDObjects[index]= NIL then FPDObjects[index]:= PDClass.Create(Database);
  result:= FPDObjects[index];
Das ist damit ein Problem. Wie der Objekthierarchie zu entnehmen ist, ist 'TPDAnsprechpartner' ein spezialisierteres Objekt. Wie Speichere ich meine Speziellen Objekte? So geht es nicht! Und das Erzeugen klappt so auch nicht.
Hier sollte ja letztendlich stehen:
Delphi-Quellcode:
function TPDInterface.GetPDObject(Index: Integer): TPDObject;
var
  pdClass: TPDObjectClass;
begin
  pdClass:= findClass('TPD'+ClassArray[TClassIndex(index)]);
                                                     // TPDAnsprechpartner.Create(Database);
  if FPDObjects[index]= NIL then FPDObjects[index]:= PDClass.Create(Database);
  result:= FPDObjects[index];
So klappt die generische Erzeugung nicht.
Gruß,

Barnti
  Mit Zitat antworten Zitat