🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: maus.lang.c
Article #9

Re: Probleme beim Erstellen einer DLL unter Borland 3.1

#9
From: Michael Seliger
Date: Wed, 02 Aug 1995 14:34
40 lines
2137 bytes
In <kuhne.23.301F3117@fossi.hab-weimar.de> kuhne@fossi.hab-weimar.de (Michael Kuhne) writes:
>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 ?

Wenn C++ verwendet werden soll, so sind die entsprechenden
Funktionen mit extern "C" zu deklarieren:

z.B.:

extern "C"
{
int far PASCAL __export dll_funktion1(HWND ParentHWnd);
int far PASCAL __export dll_funktion2(void);
}

Bye, Seli
Technical Details
Message-ID: <Vs5HwA7IBh107h@csp.ka.sub.org>
Path: arc1-ca.pugleaf.net!xlink.net!snert!csp!michael
References: <5qsSAX9CVwB@p0000111.chaos.han.de> <kuhne.23.301F3117@fossi.hab-weimar.de>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!xlink.net!snert!csp!michael
From: michael@csp.ka.sub.org (Michael Seliger)
Newsgroups: maus.lang.c,de.comp.lang.c++,fido.c_plusplus_ger
Subject: Re: Probleme beim Erstellen einer DLL unter Borland 3.1
Message-ID: <Vs5HwA7IBh107h@csp.ka.sub.org>
Date: Wed, 2 Aug 95 14:34:45 GMT
References: <5qsSAX9CVwB@p0000111.chaos.han.de> <kuhne.23.301F3117@fossi.hab-weimar.de>
Organization: CSP Ingenieur Consult GmbH
X-Newsreader: Helldiver 1.07 (Waffle 1.65)