Daten von einem C Programm zu einem C++ Programm senden

Nach langer Zeit habe ich das Problem immer noch mnicht im Griff.
Bekomme eine Fehlermeldung und weiß nicht was ich da machen kann?
Zur Zeile mit dem Fragezeichen gibt es folgende Meldung:
(117) : error C2106: '=' : Linker Operand muss ein L-Wert sein


LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
DWORD ThreadID;
char *MapView;
HDC hdc;
PAINTSTRUCT ps;
char tmessage[128];
char HLA_TEST[22];

switch (message)
{
case WM_CREATE:
hMapObject = CreateFileMapping ((HANDLE) 0xFFFFFFFF,
NULL,
PAGE_READWRITE,
0,
sizeof(HLA_TEST),
"shared_memory");
/*hMapObject = OpenFileMapping (FILE_MAP_READ,
FALSE,
"shared_memory");*/
if(hMapObject != NULL)
{
(LPVOID)MapView = MapViewOfFile (hMapObject,
FILE_MAP_READ,
0,
0,
0); ?
CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)SendeTest, MapView, 0, &ThreadID);
 
1. hMapObject scheint nicht definiert zu sein.

2. Fehler in Zeile 117? Aha, welche ist das? Bitte etwas genauer.

3. CodeTags verwenden!
 

Anhänge

  • codetags.gif
    codetags.gif
    7,1 KB · Aufrufe: 440
Die Medung bezieht sich auf den 5 Parameter von MapViewOfFile.

hMapObject ist als HANDLE definiert.

Code:
LRESULT CALLBACK WndProc (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
	
	DWORD ThreadID;	
	HDC hdc;
	PAINTSTRUCT ps;   
	char tmessage[128];
	

	switch (message)
	{
	case WM_CREATE:
		hMapObject = CreateFileMapping ((HANDLE) 0xFFFFFFFF,
										 NULL,
										 PAGE_READWRITE,
										 0,
										 sizeof(HLA_TEST),
										 "shared_memory");
	   /*hMapObject = OpenFileMapping (FILE_MAP_READ,
                                        FALSE,
                                        "shared_memory");*/
	   if(hMapObject != NULL)
	   {
		   (LPVOID)MapView = MapViewOfFile (hMapObject,
											FILE_MAP_READ,
											0,
											0,
											0); ?
		   CreateThread(NULL, 0, (LPTHREAD_START_ROUTINE)SendeTest, MapView, 0, &ThreadID);
 
Die Medung bezieht sich auf den 5 Parameter von MapViewOfFile.
Glaube ich nicht - eher auf den Rückgabewert der Funktion (wg. '='). Wie ist MapView definiert? Im neuen Schnipsel taucht es nicht mehr auf. Ich bin sicher, dass es mit dem Cast zusammenhängt.
 
Ein Cast macht man in der Regel auf der rechten Seite des =
Code:
(LPVOID)MapView = MapViewOfFile (hMapObject,
											FILE_MAP_READ,
											0,
											0,
											0); ?
Caste den Rückgabewert auf den Typ von MapView
 
Zurück