Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#30

AW: proceduren (Events) aus Interface

  Alt 9. Sep 2016, 08:26
Ahhh jetzt hat es klick gemacht..
War mir auch nicht bekannt das man die Interface so verzweigen kann.

Klasse Info

Und man braucht dafür 2 GUIDS unterschiedliche? Hmmmm...

Zitat:
Genau so meine ich das doch.
Der Unterschied ist, dass diese Unit in deinem Projekt normal eingebunden ist, mehr nicht.
Jo so mache ich das ja.

EDIT:
Also ich habe das mal so gemacht wie von dir vorgeschlagen. (DLL seite)

Delphi-Quellcode:
  ISkinMagnetic = interface
    ['{A00CB8B3-8433-4C58-9115-1845B29B3FF0}']
    function GetSnapWidth: Integer;
    procedure SetSnapWidth(const Value: Integer);
    property SnapWidth: Integer read GetSnapWidth write SetSnapWidth;
    function AddMagneticWindow(Handle: HWND; hWndParent: HWND): Boolean;
    function RemoveMagneticWindow(Handle: HWND): Boolean;
    function SetFullWindowDrag(HWND: DWORD; ShowFullWindow: Boolean): Boolean;
  end;

  ISkinMagneticEx = interface(ISkinMagnetic)
     ['{7AFFBAB7-211A-4B02-9787-5A566607A8C7}']
    function zSubclass_Proc(var Wnd: HWND; var Msg: UINT; var wParam: wParam; var lParam: lParam)
      : LRESULT; stdcall;
   end;

  TMagnetic = class(TInterfacedPersistent, ISkinMagnetic, ISkinMagneticEx)
    constructor Create;
    destructor Destroy; override;
Mit meiner vorher deklarierten Variable kann ich jetzt nicht mehr darauf zugreifen.

Delphi-Quellcode:
function SubFormWindowProc(Wnd: HWND; Msg: UINT; wParam: wParam; lParam: lParam): LRESULT; stdcall;
begin

  result := MagneticWnd.zSubclass_Proc(Wnd, Msg, wParam, lParam);
end;
MagneticWnd kennt diese Funktion dann nicht mehr.


gruss

Geändert von EWeiss ( 9. Sep 2016 um 08:54 Uhr)
  Mit Zitat antworten Zitat