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