Article View: maus.lang.c
Article #8Re: Probleme beim Erstellen einer DLL unter Borland 3.1
From: Michael Kuhne
Date: Wed, 02 Aug 1995 08:02
Date: Wed, 02 Aug 1995 08:02
56 lines
2738 bytes
2738 bytes
Hallo Ike,
>Ich bin gerade in der gluecklichen Lage, mit maessigen C Kenntnissen, das
>Einbinden von in C++ erstellten DLL's in Visual Basic durchfuehren zu
>muessen. Naja, und wie koennte es anders sein ? - Es laeuft nicht :-((
>Als Plattform benutze ich Borland C++ (V.3.1) fuer Windows.
>Ich habe dazu ein Projekt erstellt, mit folgenden Dateien:
( ... )
>Tja, der Linker meint dann nur gleichgueltig:
>"Linker Warning: Attempt to export non-public symbol TESTFUNCT".
>Das Einbinden in Visual Basic schlaegt dann fehl, mit einer Felermeldung
>(... unknown TESTFUNCT ...). Das der Fehler bei VB liegt, schliesse ich
>mal aus, da das Einbinden von fremden DLL's funktioniert ...
ich hatte das gleiche Problem mit dem Aufrufen von BC++ DLLs aus VisualBasic.
Erst mal ist das Schluesselwort PASCAL notwendig. Allerdings lief das
Aufrufen der DLL aus VisualBasic (bzw. WinWord Basic) nur dann, wenn die
DLL aus einem C-Programm erzeugt wurde. Also Dateiendung *.c anstelle
von *.cpp. Allerdings ist dann natuerlich das ObjectWindows nicht
mehr benutzbar.
Warum das mit C++-Quelltexten nicht funktioniert weiss ich nicht, ich
vermute aber mal, dass es am Code liegt, den Borland am Anfang in die DLLs
einbindet.
Oder hat jemand eine Idee warum C geht und C++ nicht ?
Hier mal das Programm welches bei mir laeuft (vereinfacht); andere Dateien
im Projekt sind nicht notwendig:
->>>----C-Quelltext, KEIN C++-:--------------------------------------------
+ #include <windows.h>
+
+ int FAR PASCAL LibMain(HINSTANCE hI, WORD xx, WORD yy, LPSTR lpCL)
+ {
+ return(1); /* unsauber */
+ }
+
+ int FAR PASCAL WEP (int zz)
+ {
+ return(1);
+ }
+
+ int far PASCAL __export dll_funktion(HWND ParentHWnd)
+ {
+ MessageBox(NULL,"==DLL==","==Alf==",MB_OK);
+ }
---------------------------------------------------------------------<<<----
Micha.
-----------------------------------------------------------------
<> EMail: kuhne@fossi.hab-weimar.de Tel: (03643) 584707 <>
-----------------------------------------------------------------
Die kleinsten Unteroffiziere sind die stolzesten. (Lichtenberg)
=================================================================
Technical Details
Message-ID:
<kuhne.23.301F3117@fossi.hab-weimar.de>Path:
arc1-ca.pugleaf.net!physik.Bauing.HAB-Weimar.DE!kuhneReferences:
<5qsSAX9CVwB@p0000111.chaos.han.de>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!physik.Bauing.HAB-Weimar.DE!kuhne From: kuhne@fossi.hab-weimar.de (Michael Kuhne) Newsgroups: maus.lang.c,de.comp.lang.c++,fido.c_plusplus_ger Subject: Re: Probleme beim Erstellen einer DLL unter Borland 3.1 Date: Wed, 2 Aug 1995 08:02:31 GMT Organization: HAB Message-ID: <kuhne.23.301F3117@fossi.hab-weimar.de> References: <5qsSAX9CVwB@p0000111.chaos.han.de> NNTP-Posting-Host: physik.bauing.hab-weimar.de