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
Author: 101640.3065
Date: Fri, 29 Mar 1996 11:55
Date: Fri, 29 Mar 1996 11:55
34 lines
1723 bytes
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
Author: Peter Haberl
Date: Fri, 05 Apr 1996 21:19
Date: Fri, 05 Apr 1996 21:19
12 lines
1092 bytes
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