Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#17

AW: ClassFactory ähnlich wie Spring Framework, Hilfe gesucht!

  Alt 6. Feb 2014, 19:01
Wie soll ich den das in einer anderen Unit machen? Aus einer anderen Unit komme ich doch nicht an die Klasse ran!
Ganz einfach!

Delphi-Quellcode:
unit MyInterfaces;

interface

const
  SID_Sample : string = '{13B2116B-B78B-4E89-8070-83F9E36720EF}';
  SID_OtherSample : string = '{74EF1A68-1EED-4DA4-9845-5F77AEB6D2DA}';

type
  ISample = interface(IUnknown)
  [SID_Sample]
    procedure Foo;
    function Bar : Boolean;
  end;

  IOtherSample = interface(IUnknown)
  [SID_OtherSample]
    procedure FooFoo;
    function BarHocker : Boolean;
  end;

implementation

end.
Den Spaß werden wir hier implementieren:
Delphi-Quellcode:
unit MyClasses;

interface

uses
  MyInterfaces;

type
  TMySampleClass = class(TInterfacedObject, ISample)
  private
    function Bar: Boolean;
    procedure Foo;
  end;

  TMyOtherSampleClass = class(TMySampleClass, IOtherSample)
  private
    function BarHocker: Boolean;
    procedure FooFoo;
  end;

implementation

{blablabla - Methoden über Methoden}

end.
Die Unit Container ist ja jedem hier bekannt; so melden wir alle schön an:
Delphi-Quellcode:
unit RegisterMyClasses;

interface

implementation

uses
  Container, MyInterfaces, MyClasses;

initialization
  Container.GlobalContainer.RegisterClass<ISample, TMySampleClass>;
  Container.GlobalContainer.RegisterClass<IOtherSample, TMyOtherSampleClass>;

end.
Tataaaa!
  Mit Zitat antworten Zitat