Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi PropertySheet in Anwendung (https://www.delphipraxis.net/88045-propertysheet-anwendung.html)

flowj 9. Mär 2007 10:47


PropertySheet in Anwendung
 
Hallo,

ich habe ein PropertySheet als dll welche ich eigentlich zur Verwendung als Display Specifier im Active Directory verwende! Nun möchte ich dieses Sheet in eine Anwendung reinbekommen als Formular in ein TabSheet.
Ist das irgendwie möglich und wie?

Gruss

mkinzler 9. Mär 2007 10:57

Re: PropertySheet in Anwendung
 
Sheet als Parent eintragen

flowj 9. Mär 2007 11:16

Re: PropertySheet in Anwendung
 
muss ich da in der PropertySheet-dll was verändern?
könntest du es vielleicht ein bisschen genauer erklären?
das wäre echt super!

mkinzler 9. Mär 2007 11:22

Re: PropertySheet in Anwendung
 
Ist die Dll in Delphi geschrieben?
Füge im Interface der Dll doch die Möglichkeit der Parented-Erzeugung ein.

flowj 26. Mär 2007 09:17

Re: PropertySheet in Anwendung
 
ja die dll ist in delphi geschrieben!
aber ich will an der dll nix ändern und das ganze als COM Object in meiner Anwendung verwenden?
Also das PropertySheet ist registriert und ich will nicht die dll verwenden sondern über COM Interface gehen!
Ist das möglich?

mkinzler 26. Mär 2007 09:52

Re: PropertySheet in Anwendung
 
Wenn die Dll einen ActiveX-Server und ein ActiveX-Objekt implemnetiert, kannst du diese ja wieder in Delphi importieren und verwenden. Einfacher wäre aber der Weg mit der Erweiterung des Interfaces.

flowj 26. Mär 2007 10:14

Re: PropertySheet in Anwendung
 
und was mach ich dann wenn ich das importiert habe?

mkinzler 26. Mär 2007 10:15

Re: PropertySheet in Anwendung
 
Die Komponente auf das Sheet ziehen

flowj 26. Mär 2007 14:45

Re: PropertySheet in Anwendung
 
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?

Remko 27. Mär 2007 10:48

Re: PropertySheet in Anwendung
 
There's a sample in the PSDK (PropSheetHost) that might help. I started a conversion of the sample to Delphi (http://www.delphipraxis.net/internal...=propsheethost) but due to lack of time it's not finished (yet).

Are you trying to show a standard Active Directory property page or your own added property page?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:57 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz