'unmanaged' - DLL in .NET (C++-Webservice)

msandvoss

Grünschnabel
Schönen Guten Morgen!

Hoffe mich kann geholfen werden.:)

Ich habe unter Visual Studio .NET 2003 einen ASP.NET-Webdienst (Visual C++-Projekte) erstellt, bzw. bin ich dabei.
Dabei will ich Funktionen einer unter Visual Studio 6.0 erstellten DLL aufrufen.
Mein Problem ist, das ich es nicht hinbekomme die richtigen Typen bzw. die richtigen Umwandlungen zu wählen.
Wie importiere ich z.B. folgende Funktion der DLL:

Code:
char* GetAPIVersion(char* szVersion)

Was muss wie deklariert und später aufgerufen werden?

Code:
[DLLImport "xxx.dll"]...
usw. ?


Vielen DANK im voraus.

Mario
 
Mahlzeit, Moin, oder wie auch immer.

heute stehe ich vor dem selben Problem, nur anders herum.
Muss in Visual Studio 7 eine C++ (MFC) anwendung schreiben. Fragt besser nicht warum. Diese MFC-Anwendung muss aber zugreifen auf eine DLL, die in C# geschrieben ist.
folgendes ist mein Code:

Code:
typedef __declspec(dllimport)(*pfFunc)(CString, CString, CString);

.
.
.

HINSTANCE hDll = NULL;
hDll=AfxLoadLibrary("Data_Access_Lib.dll");
if (hDll == NULL)
			return FALSE;
		else
		{
			pfFunc MTest = (pfFunc)GetProcAddress(hDll, "DBConnectServer");
			MTest("Name","Password","ORACLE");
}
.
.
.

So, mein Problem ist folgendes. Wenn ich das ganze debugge, ist hDll der Wert "0x1100000..." zugewiesen. da geht er drüber und in die else-schleife rein. MTest wird dann allerdings der Wert 0x0000.... zugewiesen, und auf den kann man schlecht zugreifen, also ergeben sich beim debuggen Fehler.
Hat irgendwer von euch ne Ahnung was ich da falsch gemacht haben könnte, oder was da fehlt? oder wie es anders geht?

Danke auf jeden Fall schonmal an alle die Helfen.

Meike
 
Zurück