Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Dev C++ DLL in VB einbinden

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
02.04.2007, 10:44 Uhr
~phi
Gast


Hallo,
ich habe mit Dev C++ eine DLL geschrieben (und kompiliert). Das Problem ist nun, dass mir Visual Basic meldet: "DLL-Einsprungpunkt returnString in TestDLL.dll nicht gefunden."
Ich vermute, dass die Funktion returnString noch verfügbar gemacht werden muss für externe Zugriffe? Oder dass returnString in der dllmain.cpp deklariert werden muss?

Für jede Hilfe bin ich dankbar!

dll.h:

Code:
#include <iostream>
#include <string>
using namespace std;
#ifndef _DLL_H_
#define _DLL_H_
#if BUILDING_DLL
# define DLLIMPORT __declspec (dllexport)
#else /* Not BUILDING_DLL */
# define DLLIMPORT __declspec (dllimport)
#endif /* Not BUILDING_DLL */
string TestDLL();
class DLLIMPORT TestDLL
{
  public:
    TestDLL();
    virtual ~TestDLL(void);

    string returnString() {
      return "Hello World!";
    }
  private:
};
#endif /* _DLL_H_ */



dllmain.cpp:

Code:
/* Replace "dll.h" with the name of your header */
#include "dll.h"
#include <windows.h>
TestDLL::TestDLL()
{
}
TestDLL::~TestDLL ()
{
}
BOOL APIENTRY DllMain (HINSTANCE hInst     /* Library instance handle. */ ,
                       DWORD reason        /* Reason this function is being called. */ ,
                       LPVOID reserved     /* Not used. */ )
{
    switch (reason)
    {
      case DLL_PROCESS_ATTACH:
        break;
      case DLL_PROCESS_DETACH:
        break;
      case DLL_THREAD_ATTACH:
        break;
      case DLL_THREAD_DETACH:
        break;
    }
    /* Returns TRUE on success, FALSE on failure */
    return TRUE;
}



Programmcode in Visual Basic:

Code:
Declare Function returnString Lib "TestDLL.dll" () As String

Public Sub returnTestDLL()
    returnTestDLL = returnString
End Sub

 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
02.04.2007, 11:23 Uhr
Kest
saint


www.coopknow.com/papers.asp?paper=2
--
Wenn man einen Hufschlag hört, sollte man >Pferd< denken und nicht >Zebra<.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
02.04.2007, 11:48 Uhr
~phi
Gast


Danke, das sieht schon mal vielversprechend aus.
Aber wohin genau muss ich diesen Code einfügen?

Code:
extern "C"
{
void * PASCAL _extern CLSConstruct();
void PASCAL _extern CLSDestruct(void *Cls);
int PASCAL _extern CLSDoit(void *Cls,int x);
};
void * PASCAL _extern CLSConstruct()
{
cls *obj;
...
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
15.04.2007, 15:14 Uhr
~phi
Gast


Irgendjemand eine Idee? Oder gibt es vielleicht ein Beispielproject in Dev-C++?
Danke!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
15.04.2007, 15:49 Uhr
~phi
Gast


Hallo, funktioniert bei mir nun. Hab diesen Link gefunden:
http://sourceforge.net/forum/message.php?msg_id=3570543
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: