🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: maus.lang.c
Article #8

Re: Probleme beim Erstellen einer DLL unter Borland 3.1

#8
From: Michael Kuhne
Date: Wed, 02 Aug 1995 08:02
56 lines
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!kuhne
References: <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