Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   lib anstelle von dll (https://www.delphipraxis.net/59446-lib-anstelle-von-dll.html)

Surrounder 22. Dez 2005 12:22


lib anstelle von dll
 
Hallo Forum,

ich habe eine dll in Delphi erstellt und diese würde jetzt jemand gerne bei sich einbinden. Jetzt will der von mir aber eine lib und keine dll. Jetzt hab ich zwar Infos gefunden was eine lib sein soll, aber ich hab keine Ahnung wie ich so etwas aus meiner Dll erstellen soll?

Danke für Hinweise.


Surrounder

Der Jan 22. Dez 2005 14:47

Re: lib anstelle von dll
 
Lib sind in der Regel statische Link-Libraries, wie sie z.B. in C/C++ genutzt werden. Um z.B. eine DLL in ein C++Builder Programm einzubinden, benötigt man eine Lib-Datei der DLL. Diese kann z.B. mit Tools wie ImpLib etc. erstellt werden.

Surrounder 23. Dez 2005 07:30

Re: lib anstelle von dll
 
Danke mir war der Unterschied schon klar, nur wie erzeuge ich denn eine lib :gruebel:

Jetzt hab ich gerade eine Seite im Netz gefunden, dort gibt es eine Freeware namens ImpLib32, man braucht allerdings eine Dumpbin.exe und eine lib.exe dazu. Die habe ich bei VisualStudio bei mir auf dem Rechner gefunden. Und dann ging es auch mit dem erzeugen der Lib. Ich hatte bisher wohl das falsche ImpLib verwendet das nur für 16 bit war :mrgreen:

Ich poste mal den Link:

http://www.geocities.com/SiliconVall...6/implib32.htm

forhe Weihnachten

Der Jan 23. Dez 2005 07:34

Re: lib anstelle von dll
 
ImpLib von Borland ist auch beim C-Builder dabei, bei Delphi fehlt es leider... AFAIK ist es aber free und kann auf der Borland-Site geladen werden...

jensw_2000 28. Sep 2007 15:58

Re: lib anstelle von dll
 
Bei mir generiert implib32 immer eine 0 Byte Lib Datei.
Verwende ich den Parameter -d (DEF Datei erzeugen), dann habe ich auch eine 0 Byte Def Datei.
Also scheint Dumpbin meine DLL nicht zu mögen...

Ich verwende die Implib32 Version aus dem o.a. Download-Link.
Die Lib.exe und Dumpbin.exe stammen aus der Visual C++ 2005 Express Edition.

War muss ich beachten, damit das erzeugen der Lib-Datei funktioniert ?

Meine DLL hat eine ganz normale Exports Liste

Delphi-Quellcode:
Exports PDDAPI_Register name 'PDDAPI_Register',
        PDDAPI_LoginRequest name 'PDDAPI_LoginRequest',
        PDDAPI_AgentStateRequest name 'PDDAPI_AgentStateRequest',
        PDDAPI_CallControlRequest name 'PDDAPI_CallControlRequest',
        PDDAPI_Unregister name 'PDDAPI_Unregister';
Die Funktionen sind in einer anderen unit deklariert und implementiert ...

Delphi-Quellcode:
unit PDDAPI_Exports;

interface

  uses PDDAPI_Types .....;

  function PDDAPI_Register(
    const aAPI_RegisterInfo : TRecAPI_RegisterInfo    
    ):boolean; cdecl;                          

  function PDDAPI_LoginRequest(                                                       
    const aLoginRequest : TRecLoginRequest                                                  
    ):boolean; cdecl;                                                              

  function PDDAPI_AgentStateRequest(                                                 
    const aAgentStateRequest : TRecAgentStateRequest                                                   //
    ):boolean; cdecl;                                                              

  function PDDAPI_CallControlRequest(                                                 
    const aCallControlRequest : TRecCallControlRequest                                      
    ):boolean; cdecl;                                                            

  procedure PDDAPI_Unregister; cdecl;

 
implementation

....
Die Typen sind im eier weiteren unit deklariert.


Gibt es einen einfacheren Weg um für meine D7 DLL eine C++ Lib Datei zu erstellen ?


Problem schon gelöst.
von meinen Visual Studio Express war ein Pfad nicht gesetzt. Daher hat dumpbin nicht richtig gearbeitet.
Danke trotzdem :mrgreen:


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:30 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