Einzelnen Beitrag anzeigen

finn91

Registriert seit: 24. Jun 2007
16 Beiträge
 
#1

Auf ein als "private" deklariertes Interface zugre

  Alt 31. Aug 2008, 11:58
Hallo,

ich bräuchte mal eure Hilfe bei einem Problem

Ich habe eine Klasse "TClassOne" (nur zur Demonstration so genannt^^), die vereinfacht so aussieht:

Delphi-Quellcode:
TClassOne = class
private
  FInterface: IInterface;
  FObjects: array of TClassTwo;
public
  constructor Create;
  destructor Destroy; override;
  procedure Free;
  property Objects: array of TClassTwo read FObjects write SetObjects;
end;
Der Einfachheit halber habe ich nicht alle Prozeduren hingeschrieben (sind auch nicht weiter relevant).

Mein Problem ist jetzt folgendes: Ich möchte in einer Prozedur von "TClassTwo" auf das als "private" deklarierte Interface "FInterface" zugreifen. Der Nutzer soll allerdings kein Zugriff darauf haben (also nicht als "public" deklarieren). In einfachem Code ausgedrückt soll es also ungefähr so aussehen:

Delphi-Quellcode:
TClassTwo = class
public
  constructor Create;
  destructor Destroy; override;
  procedure Free;
  procedure DoSomething;
end;

// [...]

procedure TClassTwo.DoSomething;
begin
  FInterface.DoSomethingElse; // Methode von FInterface ausführen
end;
Wichtig ist dabei, dass die beiden Klassen in zwei verschiedenen Units sind (wegen der Übersicht).

Also nochmal in Kurzform: Wie kann ich aus "TClassTwo" auf das als "private" deklarierte Interface von "TClassTwo" zugreifen?

Ich hoffe, ich habe mein Problem halbwegs verständlich ausgedrückt. Falls nicht, fragt einfach.

Gruß,

Finn
  Mit Zitat antworten Zitat