Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#22

AW: Tapi Callback Funktion darf nicht in Klasse sein

  Alt 26. Nov 2012, 16:42
Allerdings hätte ich auch einiges an Verbesserungen zum Code:
  1. MyTapi ist ein Singleton und sollte auch entsprechend implementiert werden z.B. mit einem Interface
    Delphi-Quellcode:
    interface

    type
      IFoo = interface
        ['{10C358B9-FCF2-4CAF-9F35-65DDDD4C6039}']
        procedure DoSomething;
      end;

    function MyFoo : IFoo;

    implementation

    type
      TFoo = class( TInterfacedObject, IFoo )
        procedure DoSomething;
      end;

    var
      _MyFoo : IFoo;

    procedure TFoo.DoSomething;
    begin

    end;

    function MyFoo : IFoo;
    begin
      if not Assigned( _MyFoo ) then
        _MyFoo := TFoo.Create;
      Result := _MyFoo;
    end;
  2. Du verwaltest eine Liste mit Callbacks, die dann aufgerufen werden. Warum nimmst du dann nicht Methoden? Du rufst die auf, dann kannst du auch bestimmen, was du aufrufst.
    Delphi-Quellcode:
    type
      TTapiCallbackMethod = procedure ( hDevice, dwMsg, {dwCallbackInstance, } dwParam1, dwParam2, dwParam3 : Cardinal ) of object;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat