VNC krasches Delphi apps on server

Dimitri Verechtchiagine dimitri "at" vistar.ca
Wed, 08 Aug 2001 18:33:57 +0000


Hello,

I am experiencing the same problem using an application built with
Borland C++ Builder 4 or 5.

The last message on that topic was posted on June 20, 2001. I assume
that still there is no fix. I am using the latest copy of VNC for
Windows, release 3.3.3r9. The OS is Windows NT 4.0 SP6a. 
The problem appears as the "EAccessViolation" message box. The problem
is not consistently reproducible. The most success in reproducing it I
had immediately after starting the application by minimizing the
application's window.

As the Delphi users contributing to this group, I also traced the
problem to FindControl, GetProp in Controls.pas.
Both Borland and VNC use a so-called "window property list", which is a
storage area which can be used by a developer to store application
specific per window data. Borland uses it to store the wrapper class
TWinControl pointer. VNC uses it, as I traced from the source code, to
store a window's coordinates in the EnumWindowsFn function in the
vncDesktop.cpp module. Borland uses SetProp only at start up in the
control window initialization code. According to a source code comment,
VNC uses it (periodically) to catch a window movement.

In the source code I have not noticed any problems in using GetProp,
SetProp by both Borland and VNC. However, my question is: Is it safe to
use SetProp, GetProp from different processes (VNC and my application)?
Could it be that if called at the same time from different processes
SetProp or GetProp mix the data items in the list?


I would appreciate comments.

Thanks,
Dimitri.
---------------------------------------------------------------------
To unsubscribe, send a message with the line: unsubscribe vnc-list
to majordomo "at" uk.research.att.com
See also: http://www.uk.research.att.com/vnc/intouch.html
---------------------------------------------------------------------