Driver API interface 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

Driver API interface with NX

Post by mpco » Wed Jan 31, 2018 10:30 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?

jwick
Moderator
Moderator
Posts: 2515
Joined: Wed Dec 20, 2006 2:25 pm
Location: USA
Contact:

Re: Driver API interface with NX

Post by jwick » Fri May 11, 2018 1:18 pm

Sign up as a developer and send a message to the windows api support email. We will pick it up from there. We will need some details on what you are trying to do. There is probably a conflict in the way messages are passed around.

Post Reply