AGB  ·  Datenschutz  ·  Impressum  







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

Auf Interfaces zugreifen?

Offene Frage von "viakt133"
Ein Thema von viakt133 · begonnen am 18. Feb 2010 · letzter Beitrag vom 25. Feb 2010
 
Alaitoc

Registriert seit: 24. Okt 2008
263 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Auf Interfaces zugreifen?

  Alt 18. Feb 2010, 17:35
Also ich interpertiere das einfach mal...

Sagen wir mal du hast zwei Schnittstellen über die du gehen willst, einmal USB und einmal COM.
Da erstellst du jeweils eine Klasse für, die das Interface implementiert und in dem Interface
sind halt alle allgemeingehaltenden Methoden drin.

Bsp:

Das Interface:

Delphi-Quellcode:

type
  ISchnittstelle = interface ( IInterface )
    procedure Execute();
  end;

type
  TSchnittstelle = class ( TInterfacedObject, IInterface )
  public
    procedure Execute(); virtual; abstract;
  end;
Die USB-Schnittstelle:

Delphi-Quellcode:
type
  TUSBSchnittstelle = class ( TSchnittstelle )
    private

    protected

    public
      procedure Execute(); override;
  end;

procedure TUSBSchnittStelle.Execute();
begin
  // Do Something with USB
end;
Die COM-Schnittstelle:

Delphi-Quellcode:
type
  TCOMSchnittstelle = class ( TSchnittstelle )
    private

    protected

    public
      procedure Execute(); override;
  end;

procedure TCOMSchnittstelle.Execute();
begin
  // Do Something with COM
end;
Und dann noch ne Factory die dir eins von beiden erstellt ( die Unterscheidung mache ich hier mit nem simplen String, geht natürlich auch anders):

Delphi-Quellcode:
type
 TSchnittstellenFactory = class ( TObject )
    private
      { Private-Deklarationen }

    protected
      { Protected-Deklarationen }

    public
      class function CreateSchnittstelle( sTyp: String ): ISchnittstelle;
      
  end;

class function CreateSchnittstelle( sTyp: String ): ISchnittstelle;
var
 coSchnittstelle: TSchnittstelle;
begin
  coDependency := nil;
  if sTyp = "USB" then
  begin
    coDependency := TUSBSchnittstelle.Create();
  end
  else if sTyp = "COM" then
  begin
    coDependency := TCOMSchnittstelle.Create();
  end;
  result := coDependency;
end;
So würde ich das z.b. in etwa realisieren, wenn z.b. der Benutzer die Auswahl hätte zwischen den Schnittstellen oder so.
Natürlich nur schnell hingeklatscht...aber sollte verdeutlichen was ich meine ^^

MfG Alaitoc

PS: Übernehme keine Garantie für irgendwelche Fehler, hab nu Feierabend *gg*
  Mit Zitat antworten Zitat
 


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 21:22 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-2025 by Thomas Breitkreuz