Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » "dllexport int": ok, "dllexport string": fehler

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
16.04.2007, 15:44 Uhr
~phi
Gast


Hallo,
ich habe mit Dev-C++ eine DLL geschrieben, diese kompiliert auch ohne Probleme. Wenn ich diese dann in VB einbinde funktioniert z.B. folgende Funktion:

Code:
dllexport int _stdcall returnInt ()
{
return 30;
}


diese Funktion führt jedoch beim Aufruf von VB zu einem Fehler ("Visual Basic hat ein Problem festgestellt und muss beendet werden"):

Code:
dllexport string _stdcall returnString ()
{
return "30";
}


Alle Deklarationen für Strings in C++ sind vorhanden (#include <iostream>,#include <string>
using namespace std. Die Deklarationen in VB sehen so aus:

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


Ich vermute mal, dass VB eine andere Art von String verwendet als C++. Hat irgendjemand eine Idee?

Danke!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
16.04.2007, 16:06 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


Natürlich kennt VB keinen std::string. Versuch mal das als Char Array zurückzugeben.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
20.04.2007, 18:52 Uhr
~phi
Gast


Hi, danek für die Antwort. Wie genau gebe ich denn einen Array zurück, dieser Code funktioniert bis jetzt noch nicht:

Code:
dllexport char() _stdcall returnString ()
{
return 'Test';
}
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
20.04.2007, 22:16 Uhr
FloSoft
Medialer Over-Flow
(Administrator)



C++:
dllexport const char * _stdcall returnString()
{
   return "Test"; // " für Strings, ' für einzelne Zeichen
}


--
class God : public ChuckNorris { };
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
21.04.2007, 09:44 Uhr
~phi
Gast


Hi,
leider erhalte ich beim Aufruf dieser Funktion in VB einen Adressfehler. In einem anderen Forum habe ich gelesen, dass man die C++ Funktion mit "word" deklarieren soll, welches Include benötige ich für "word"?
Danke!
 
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: