Einzelnen Beitrag anzeigen

barnti

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

Probleme mit 'implements'-Klausel

  Alt 2. Sep 2004, 10:51
Hallo,
wieder eine Frage zum Thema Klassenmodellierung. Diesmal folgendes.
Delphi-Quellcode:
unit IDatabase;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls,
  Forms, Dialogs;

type
  IDatabase = interface (IInterface)
    procedure Load; stdcall;
    procedure Save; stdcall;
  end;
...
Deklaration eines Interfaces, welches mir zwei Prozeduren zur Verfügung stellt.

Delphi-Quellcode:
unit akDatabase;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls,
  Forms, Dialogs;

type
  TakDatabase = class (TmysqlDatabase, IDatabase)
  private
    FQuerys: TObjectList;
    function GetQuery(Index: Integer): TakQuery;
    procedure SetQuery(Index: Integer; Value: TakQuery);
  public
    property Query[Index: Integer]: TakQuery read GetQuery write SetQuery
            implements TakQuery;
  end;
Die Klasse 'TakDatabase' ist eine Unterklasse der Komponente 'mysqlDatabase', welche die Implementation des Interface über die Property 'Query' an die Klasse TakQuery delegiert.

Im Feld 'FQuerys' sollen für jede Tabelle der Datenbank eine Komponente des Typs 'TakQuery' gespeichert werden.
Der Vollständigkeit halber hier noch die Klasse TakQuery:
Delphi-Quellcode:
unit akQuery;

interface

uses
  SysUtils, Windows, Messages, Classes, Graphics, Controls,
  Forms, Dialogs;

type
  TakQuery = class (TmysqlQuery)
  public
    procedure Load;
    procedure Save;
  end;
...
Wenn ich jetzt auf die Property 'Query' zugreife(in akDatabase), kann ich dann Query[index].Load ausführen?
Gruß,

Barnti
  Mit Zitat antworten Zitat