3Dconnexion win32 api messages with NX

Post questions, comments and feedback to our 3Dconnexion Windows Development Team.

Moderator: Moderators

Post Reply
mpco
Posts: 5
Joined: Tue Jul 22, 2008 1:40 pm

3Dconnexion win32 api messages with NX

Post by mpco » Wed Jan 31, 2018 7:36 am

I posted about 10 years ago here trying to get to the bottom of some issues I was having while developing for NX:

https://www.3dconnexion.com/forum/viewtopic.php?t=2301

I thought there was some more discussion on the thread, but I don't know what happened to it.

I never solved the issue, but the flexibility of working with the windows API was worth the quirks that were introduced by using it.

I have gotten to the bottom of an intermittent issue we've been having so I can finally replicate it. While in a standard message loop for a created window launched from inside of UG:

Code: Select all

	
	while (bRet = GetMessage(&msg,NULL,0,0 ) != 0 )
	{
		TranslateMessage(&msg);
		DispatchMessage(&msg);
	}	
When I post the normal PostQuitMessage when exiting and destroying the the previously mentioned window everything works fine. If the user is rotating the spaceball in any way during the PostQuitMessage, it seems to jump up to the parent NX window, closing the entire program. This only happens when the user is actively moving the spaceball while the PostQuitMessage is being processed. Before or after is fine. Siemens isn't much help with the issue. Their only advice is "don't do that".

I've trying filtering the messages out of the message loop and a few other things to no avail.

Is there anywhere the interface between the device and NX is documented that I can look through? Does anyone know why this would happen or how to prevent it?

Post Reply