We have recently added this component to a project, and were very impressed. Sadly whilst it works fine on our NT machines in-house, most of our customers have Win98 SE and the application has become very unstable since adding the component. Invoking one of its methods causes a page fault which requires a reboot to clear, removing the component clears the problem. Does anyone else have any experience of this ?
TIA
David
TWhatsThis and Windows 98
Moderators: Alexander Halser, Tim Green
-
- Posts: 1
- Joined: Mon Jul 22, 2002 9:41 pm
- Location: UK
- Contact:
TWhatsThis and Windows 98
David Jehring
Apollo Medical Systems Ltd
Apollo Medical Systems Ltd
- Alexander Halser
- EC-Software Support
- Posts: 4098
- Joined: Mon Jun 24, 2002 7:24 pm
- Location: Salzburg, Austria
- Contact:
I could imagine a problem in combination with other components, but not with TWhatsThis alone.
TWhatsThis deeply interfers with the Windows messaging system. It hooks the mouse and keyboard message queue and temporarily it even hooks the messages which are sent to a window directly. This is where other components may get a problem if they are not properly designed.
The 16-bit limitations of Windows 95/98/ME occur in the messaging system, that's why your application works fine on Windows NT or 2000.
An example: a TRichedit component can hold only 32K characters on Windows 9x. You can, however, increase the maximum character length to more than that with a message sent to the richedit at runtime. This works as long as no other component has installed a hook to the messaging system. If the message is hooked, due to the 16-bit limitations, Windows 9x only passes on a fragment of the original message parameters - even if the hook procedure does not modify the message. The component which receives this message must take this into account. If it doesn't, it may crash.
TWhatsThis deeply interfers with the Windows messaging system. It hooks the mouse and keyboard message queue and temporarily it even hooks the messages which are sent to a window directly. This is where other components may get a problem if they are not properly designed.
The 16-bit limitations of Windows 95/98/ME occur in the messaging system, that's why your application works fine on Windows NT or 2000.
An example: a TRichedit component can hold only 32K characters on Windows 9x. You can, however, increase the maximum character length to more than that with a message sent to the richedit at runtime. This works as long as no other component has installed a hook to the messaging system. If the message is hooked, due to the 16-bit limitations, Windows 9x only passes on a fragment of the original message parameters - even if the hook procedure does not modify the message. The component which receives this message must take this into account. If it doesn't, it may crash.
Alexander Halser
Senior Software Architect, EC Software GmbH
Senior Software Architect, EC Software GmbH