Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi DLL registrieren (https://www.delphipraxis.net/113721-dll-registrieren.html)

Weazy 13. Mai 2008 16:55


DLL registrieren
 
Ich habe ein Kontextmenu geschrieben (DLL), welche ich mit der Konsole mittels regsvr32 registrieren muss. Wie kann ich das von meinem Programm aus (registrieren und deregistrieren)?

Danke!

shmia 13. Mai 2008 17:23

Re: DLL registrieren
 
Grundprinzip:
* die DLL mit LoadLibrary() laden.
* dann mit GetProcAddress den Zeiger auf "DllRegisterServer" oder "DllUnregisterServer" holen
* und ausführen
Delphi-Quellcode:
// das ist die Typdeklararion für DllRegisterServer und DllUnregisterServer
TRegProc = function : HResult; stdcall;
Bei deiner Delphi Installation sind ja auch Demo's dabei.
Unter ....\Demos\ActiveX\Tregsvr ist ein Beispiel, das zeigt, wie man nicht nur DLLs sondern auch EXEs und TLBs registrieren kann.
Leider mit globalen Variablen programmiert, so dann man nicht einfach die Prozeduren 1:1 kopieren kann.

Weazy 13. Mai 2008 17:26

Re: DLL registrieren
 
sehe mir gerade die Demo an, ist nicht gerade übersichtlich...

shmia 13. Mai 2008 17:29

Re: DLL registrieren
 
Zitat:

Zitat von Weazy
sehe mir gerade die Demo an, ist nicht gerade übersichtlich...

Ja, das muss ein :evil: Freak :evil: programmiert haben, der auf globale Variablen schwört.
Deine Prozedure wäre RegisterAxLib. Wenn du die globalen Vars durch Übergabeparameter und lokale Vars ersetzt, ist das Ding zu gebrauchen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:59 Uhr.

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