![]() |
Type Library in dll compilieren
Hallo Leute!
Mir sind nun schon des öfteren DLLs zwischen die Finger gekommen, welche die Funktionsparameter in einer sogenannten Typ-Bibliothek zur Verfügung stellen können. Mir ist bekannt, dass man mit Delphi auch TypBibliotheken anlegen kann, und zwar nicht nur für COM-DLLs sondern auch für herkömmliche DLLs. Diese Typ-Bibliothek ist dann jedoch als separates file vorhanden (*.tlb). Gibt es keine Möglichkeit diese (binären) Daten innerhalb der DLL zu speichern, so wie es andere Entwicklungsumgebungen/Programmiersprachen offensichtlich auch können? Vielleicht ein externes Tool? Was meint ihr? Ciao |
Re: Type Library in dll compilieren
OK, dann muss ich mir halt selbst antworten. Habe das Problem gelöst.
Vorgehensweise: 1. Datei/Neu/ActiveX-Bibliothek 2. Datei/Neu/TypBibliothek 3. Auskommentieren im DLL-Source-File: - in den uses: ComServ - alle vier DLL... -Funktionen 4. Neue Unit anlegen und Klassen/Funktionen anlegen (stdcall) 5. In der TypBibliothek (Ansicht/TypBibliothek): - Neues Modul anlegen: * Name des Moduls unerheblich * Name der DLL: tatsächlicher name der zu erzeugenden DLL eintragen - Methode innerhalb des Modula anlegen: * Funktionsname so eintragen, wie er später in der Funktionsliste erscheinen soll * DLL-Einsprung: Funktionsname so eintragen, wie er in der source verwendet wird * Über- und Rückgabeparameter entsprechen der source eintragen 6. Tatsächl. Funktionsname in die exports-Anweisung eintragen 7. Datei ..._TLB.pas aus dem Projekt entfernen 8. Compilieren, fertig Die DLL hat dann lediglich 19 KB (wenn nur eine kleine Funktion enthalten ist) und ist natürlich KEINE ActiveX-DLL. Würde man die COM-Server Funktionalität beibehalten wären es ca. 300 KB. Anwendungen, die die binären Informationen der IN der DLL enthaltenen TypBibliothek auswerten können, stellen nun alle Methoden samt Parameternamen und -typen zur Auswahl dar. Vielleicht kann es ja jemand gebrauchen. Ciao weltaran |
Re: Type Library in dll compilieren
Zitat:
Ich habe mich manchmal schon gefragt, warum es eigentlich für die Windows-API keine TLB gibt. Wenn dann die diversen Programmierumgebungen (Delphi, C++Builder, VB, ...) die TLBs lesen und verstehen würden, wären die meisten Unsicherheiten bei Benutzung von DLLs geklärt. Leider kann Delphi5 die Deklarationen im Abschnitt "module" nicht importieren. :( |
Re: Type Library in dll compilieren
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:31 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