ich wäre jetz so vorgegangen:
in meiner anwendung habe ich so ein interface:
Delphi-Quellcode:
type
IPSheetTest = interface(IUnknown)
['{E6292C5D-5FBB-4BF8-911F-CC61132982DD}']
function QueryInterface(const IID: TGUID; out Obj): Integer; stdcall;
function _AddRef: Integer; stdcall;
function _Release: Integer; stdcall;
function propdlgproc(hDlg: HWND; uMsg: UINT; wp: WPARAM; lp: LPARAM): boolean; stdcall;
end;
Die Funktion "propdlgproc" möchte ich aus dem
COM Objekt aufrufen! Sieht so aus:
Delphi-Quellcode:
procedure TForm3.FormCreate(Sender: TObject);
var
LSheet: IPSheetTest;
tmpPropSheet : PROPSHEETPAGE;
LDAPUrl: String;
begin
LDAPUrl := 'ldap://blablabla';
tmpPropSheet.lParam := Integer(LDAPUrl);
tmpPropSheet.hInstance := TabSheet1.Handle;
LSheet := IPSheetTest(CreateComObject(IPSheetTest));
LSheet.propdlgproc(self.Handle,WM_INITDIALOG, 0, Integer(@tmpPropSheet))
end;
Nur hauts ihn leider bei "LSheet.propdlgproc" auf die Schnauze. Weiß jemand woran das liegen könnte? Geht das überhaupt mit der Funktion propdlgproc einfach hinzufügen?