I've got a problem with implementing standard IP address control (currently win32gui doesn't have it).
I've added a new ip_address_ctrl class in a way similar to other controls (for example date_time_ctrl).
The reflection_name() is implemented, the def_create_info() is implemented with "SysIPAddress32" window class, the automapping binding is created with create_wnd<ip_address_ctrl>(null_wnd).
The library compiles ok, however the sample application crashes when the fields in this control are being changed (I think when the EN_CHANGE notification sent through the WM_COMMAND message). I see in the debugger that the stack overflow appears in the message handling logic because of the endless recursion.
After looking at this problem for some time, I cannot find any apparent reason for this. Actually, the same problem occurs even without the implementation of the ip_address_ctrl class but with the IP control on the dialog.
Any help is appreciated.
Sorry guys that I'm having conversation with myself :)
Just found out that the reflection mechanism from win32gui does not work properly with standard Win32 IP address control. If the command notification (EN_CHANGE for example) is reflected back to the control (with ID_Reflect as control id), it responds again with the same notification causing stack overflow. I think this is internal bug in the control. I've made a workaround for this problem, if developers are interested - I'll post it together with the sources of ip_address_ctrl class.
I'm certainly interested!
You can write me at john at torjo dot com.
Log in to post a comment.
Sign up for the SourceForge newsletter:
You seem to have CSS turned off.
Please don't fill out this field.