Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
140to144
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
140to144
140to144
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

dll's

dll's
30.07.2002 16:46:44
thomas
hallo leute,

ich habe mir in c eine dll erstellt und möchte diese nun in excel einbinden. die dll kann einwandfrei kompiliert werden, excel findet sie auch wunderbar nur erhalte ich dauernd die fehlermeldung daß der einstiegspunkt nicht gefunden wird. ich weiß nicht ob ich das problem bei meiner dll oder meiner excel-anwendung suchen soll. vielleicht hätte jemand von euch mit erfahrung bezüglich obiger problematik für mich ein kleines, wenn möglich ziemlich komplettes (inklusive c-code) beispiel.

vielen dank

gruß thomas

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: dll's
30.07.2002 18:18:37
Hans W Hofmann
Mit welchem Compiler bist Du denn ausgestattet. Das steht eigentlich in der Doku von VC++ ausrechend beschrieben.
Grundsätzlich Funktionen/Prozeduren müssen in Pascal-Standard aufgerufen werden also so was wie:
extern "C" __declspec(dllexport) void __stdcall foobar(int *t)

Was fehlt noch?

Gruß HW

Re: dll's
30.07.2002 18:36:23
Thomas Risi
Hallo Thomas

Mehr Info wäre nicht schlecht (Compiler, Quellcode, ...).

Hier ein kleines Beispiel (VC++):


#include "stdafx.h"

#ifdef __cplusplus
#define EXPORT extern "C" __declspec (dllexport)
#else
#define EXPORT __declspec (dllexport)
#endif

BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
                     )
{
    return TRUE;
}

EXPORT TCHAR* __stdcall fDllTest1(TCHAR* txt)
{
    
    TCHAR* ReturnMessage = "TestChar";
    
    MessageBox(NULL, ReturnMessage, "TEST", 0);
    
    return ReturnMessage;
    
}



Option Explicit

Declare Function fDllTest1 Lib _
 "C:\Programme\Microsoft Visual Studio\MyProjects\CodeParser\Debug\CodeParser.dll" _
 Alias "_fDllTest1@4" (ByVal Na As StringAs Long

Sub Test()
Dim myString As String: myString = ""
Dim Pointer As Long: Pointer = fDllTest1("Beispiel")
'Dim Pointer As Long: Pointer = Beispiel2
Dim i As Long: i = 0
Dim Dummy As Byte: Dummy = 1
    
    Do While Dummy <> 0
        
        CopyMemory ByVal VarPtr(Dummy), ByVal Pointer + i, 1
        
        i = i + 1
        
        If Not Dummy = 0 Then myString = myString & Chr(Dummy)
        
    Loop
    
    MsgBox myString
    
End Sub

     Code eingefügt mit Syntaxhighlighter 1.13


Gruß

Thomas

Risi Thomas Softwareentwicklung
Thomas.Risi@t-online.de


Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige