![]() |
Handle eigener DLL bei Initialisierung
Wie ich das Handle übergeben kann ist klar nur wie bzw ,welches ist das
wenn der User meine DLL initialisiert über eine Funktion ähnlich diese..
Delphi-Quellcode:
function SK_AERO_INIT: HWND; stdcall;
fällt mir im moment nicht ein ;) Sorry Ist das hInstance???
Delphi-Quellcode:
function SK_AERO_INIT: LRESULT; stdcall;
implementation function SK_AERO_INIT: LRESULT; stdcall; begin result := hInstance; end; gruss |
AW: Handle eigener DLL bei Initialisierung
Ja.
Vergleich doch einfach mal HInstance mit GetModuleHandle('deine.dll'). |
AW: Handle eigener DLL bei Initialisierung
Zitat:
Sorry wenn das eine dumme frage war aber ich war mir jetzt nicht sicher. gruss |
AW: Handle eigener DLL bei Initialisierung
Macht nix.
HInstance ist quasi einfach nur eine Variable, welche bei Initialisierung eines Modules (DLL oder EXE) mit dem Handle des Modules (LoadLibrary/GetModuleHandle) befüllt wird. Aktuell (seit WinNT) stimmt das das "zufällig" mit
Delphi-Quellcode:
überein (falls die EXE/DLL nicht verschoben werden mußte.
{$IMAGEBASE $xxxxxxxx}
|
AW: Handle eigener DLL bei Initialisierung
Delphi-Quellcode:
Kann oder btw.. muss ich meine Anwendung also die EXE die meine DLL verwendet
procedure LibraryProc(Reason: integer);
begin case (Reason) of DLL_PROCESS_ATTACH: begin // end; DLL_PROCESS_DETACH: begin // end; end; end; mit der Libraryproc iniziieren? Hab da im moment ein problem eine Classe zu erstellen innerhalb der DLL SKAERO_InitSkin.. In der EXE
Delphi-Quellcode:
SKAERO_InitSkin(hMain, 'Sample.ske');
In der DLL
Delphi-Quellcode:
function SKAERO_InitSkin(hMain: HWND; ConfigFile: string): BOOL; stdcall;
begin Result := SkinEngine.InitSkin(hMain, ConfigFile); end; Soll meinen Skin einladen und an dem Handle hMain übergeben. Irgendwo hängt es .
Delphi-Quellcode:
function TSkinEngine.InitSkin(hMain: HWND; zConfigFile: string): BOOL;
var wExePath: string; zTip: PAnsiChar; ImageFile: PAnsiChar; rc: TRect; x, y: integer; CloseButton: TSkinImageButton; RestoreButton: TSkinImageButton; MaximizeButton: TSkinImageButton; MinimizeButton: TSkinImageButton; begin // Speichere das HauptFenster Handle MainWindow(hMain); // ermittle die Fenster größe GetClientRect(hMain, rc); // erstelle die Class TSkinConfig FConfig := TSkinConfig.Create; kann das mit der LibraryProc zu tun haben?
Delphi-Quellcode:
FConfig := TSkinConfig.Create;
Kann ich nicht auflösen einzige Meldung zu viele aufeinanderfolgende Fehler. gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:49 Uhr. |
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