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