reinterpret_cast usuwa zawartość łańcucha znaków

0

Witam,
postanowiłem wrócić do mojego projektu serwera ale napotkałem pewien problem ... Używam _beginthread do tworzenia wątku dlatego stworzyłem strukturę dla każdego clienta . Tylko gdy używam reinpretet_cast aby zrzutować ją z voida * na zwykłą strukturę to zmienne string stają się puste ... Niewiem dlaczego . Mój kod :
domo
main.cpp

 
client.client_counter = clients;
client.Client_Num[client.client_counter] = Client[clients];
client.Database = database;
client.Server = server;


_beginthread((void(__cdecl*)(void*))ClientConnection, 0, (void*)&client);

clients++;

TClient.cpp


void ClientConnection(void *param)
{

	TPlayer player;

	TClient *client = reinterpret_cast<TClient *>(param);

//dalszy kod
}
 

I potym reinterpret_cast client->Server.server_name jest puste oraz client->Server.ip także . Dlaczego ?

0
Biały Orzeł napisał(a):

Witam,
postanowiłem wrócić do mojego projektu serwera ale napotkałem pewien problem ... Używam _beginthread do tworzenia wątku dlatego stworzyłem strukturę dla każdego clienta . Tylko gdy używam reinpretet_cast aby zrzutować ją z voida * na zwykłą strukturę to zmienne string stają się puste ... Niewiem dlaczego . Mój kod :
domo
main.cpp

 
client.client_counter = clients;
client.Client_Num[client.client_counter] = Client[clients];
client.Database = database;
client.Server = server;


_beginthread((void(__cdecl*)(void*))ClientConnection, 0, (void*)&client);

clients++;

TClient.cpp


void ClientConnection(void *param)
{

	TPlayer player;

	TClient *client = reinterpret_cast<TClient *>(param);

//dalszy kod
}
 

I potym reinterpret_cast client->Server.server_name jest puste oraz client->Server.ip także . Dlaczego ?

Niestety nie da się edytować ... Ale dodam , że inne zmienne są takie jakie były . Tylko łańcuchy znaków zostają puste

0

a zmienna client jeszcze żyje w momencie gdy odczytujesz ją w wątku, czy wypada z zasięgu tuż za _beginthread?

0
Azarien napisał(a):

a zmienna client jeszcze żyje w momencie gdy odczytujesz ją w wątku, czy wypada z zasięgu tuż za _beginthread?

Dzięki ;) . Właśnie to rozwiązałem bo client było while'u i dlatego nie działało.

1 użytkowników online, w tym zalogowanych: 0, gości: 1