User Passwort
 Passwort speichern Passwort vergessen?
 
 
 
 Alle Foren
 PDA-Dev :: Windows Mobile :: eMbedded
 C++
 Verwendung von C++ code aus C# oder VB.net
Autor  Thema Nächstes Thema  

GerhardKreuzer

Neumitglied


1 Beitrag

Erstellt am: 30.06.2016 :  11:46:00 Uhr  Profil anzeigen  Autor eine Email senden  Besuche GerhardKreuzer's Homepage  Antwort mit Zitat
Hi,
dachte wenn ich einem Beispiel folge, dann .. nein geht nicht.

Meine Dll:
.h:
#include <stdexcept>
using namespace std;

extern "C" { __declspec(dllexport) double Add (double a, double b); }

.cpp:
#include "stdafx.h"
#include "targetver.h"
#include "UnmanagedMath.h"

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

double Add(double a, double b)
{
return a + b;
}

Compiliert, erzeugt eine dll und diese ist auch an einem Ort, an dem sie gefunden wird. Die Fehlermeldung, die kommt, wenn die dll fehlt ist eine andere. Das habe ich getestet. Also ich bin mir sicher, meine dll wird vom Programm gefunden.

Programm:
Imports System.Runtime.InteropServices

Class Program

<DllImport("Win32DllEval.dll", SetLastError:=True)>
Public Shared Function Add(a As Double, b As Double) As Double
End Function

Shared Sub Main(ByVal args() As String)
Console.WriteLine("Test: Using code in non managed Dll.")

Dim result As Double

result = Add(1.0, 2.0)
End Sub
End Class

Und nun bekomme ich eine 'NotSupported' Exception.

System.NotSupportedException was unhandled
Message=NotSupportedException
StackTrace:
at Test_Win32dll.Program.Main(String[] args)
InnerException: Unable to evaluate expression.


Ich kann aber VB.net Programme für mein Target schreiben und laufen lassen, das ist kein Problem. Ich habe auch schon Funktionen aus coredll.dll eingebunden und aufgerufen, z.B. GetTime, kein Problem, aber offenbar gelingt es mir nicht selbst eine dll zu schreiben, deren Funktionen ich importieren und aufrufen kann.

Wo klemmt's? Mir gehen die Ideen aus.

Danke für jede Hilfe.

Gruß

Gerhard
  Web Server's Default Page
Web Server's Default Page

This page is generated by Plesk, the leading hosting automation software. You see this page because there is no Web site at this address.

You can do the following:

  • Create domains and set up Web hosting using Plesk.
What is Plesk

Plesk is a hosting control panel with simple and secure web server and website management tools. It was specially designed to help IT specialists manage web, DNS, mail and other services through a comprehensive and user-friendly GUI. Learn more about Plesk.

 
   Thema Nächstes Thema  
Springe nach:
 
  Bookmark & Share  
 
 
 
  Tags  
   
 
 



pda-dev.de

Quicklinks: Foren-Übersicht | Developer-News | Suche | Impressum

© just-works! Software

Zum Anfang der Seite

Snitz Forums 2000