🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: de.comp.lang.c++
2 messages
2 total messages Started by 101640.3065 Fri, 29 Mar 1996 11:55
? Einbinden von C/C++ DLLs in MS-EXCEL 5.0
#1940
Author: 101640.3065
Date: Fri, 29 Mar 1996 11:55
34 lines
1723 bytes
Grundsätzlich muß es möglich sein C/C++ Funktionen, die in einer DLL
zusammengefaßt wurden, unter VBA (EXCEL 5) aufzurufen. In der Literatur
wird beschrieben, daß die C-DLL in EXCEL-VBA mit dem Kommando
DEKLARIERE außerhalb einer SUB (global) bekannt gemacht werden muß.
Anschließend können die Funktionen in VBA verwendet werden.

Bei mit traten folgende Probleme auf: 
Die Funktionen in der DLL können in anderen C/C++-Programmen 
verwendet werden (Hinzufügen der LIB im Projekt.) Unter VBA trat
aber folgendes Problem auf. Zwar erkannte EXCEL offensichtlich die DLL,
die dort definierten Funktionen wurden aber von VBA nicht erkannt. 
Syntaktische Fehler schließe ich aus. Die Fehlermeldung (Laufzeitfehler
453) deutet eher auf ein grundsätzliches Problem hin.

Wer hat mit der Einbindung von DLLs in MS-Excel schon Erfahrung
gesammelt und kann mir helfen?

Hat jemand ähnliche Probleme wie ich sie habe gelöst? 

Ist es möglich, die in VBA deklarierten C-Funktionen auch im Spreadsheet
selbst zu verwenden?

Meinen Systemumgebung:
   Borland C++ 4.5
   MS-Excel 5.0
   Windows 3.11    

Meine Adresse:
   Walter Penschke
   Tel.: 069/344122
   Internet: 101640.3065@compuserve.com

Vielen Dank für Eure Hilfe.
Re: ? Einbinden von C/C++ DLLs in MS-EXCEL 5.0
#2022
Author: Peter Haberl
Date: Fri, 05 Apr 1996 21:19
12 lines
1092 bytes
Re: ? Einbinden von C/C++ DLLs in MS-EXCEL 5.0

Tja, ich denke, Du hast C++ Funktionen in Deiner DLL (automatisch, wenn 
ein Modul die Endung CPP hat). Der Compiler generiert dadurch Funktionen, 
die "Name-mangled" sind. Das bedeutet, daß der Rückgabewert, die Parameter 
und evt. spezifizierer wie "public" usw. in den Namen codiert werden.
So wird z.B. aus BOOL foo (int x) etwas wie ??QALfoo@45q?? oder so.

Am besten die Funktionen im Header mit extern "C" { BOOL foo(int x) } 
definieren, dann sollte es gehen!

ph
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads