03-19-2022, 12:37 PM
(This post was last modified: 03-19-2022, 12:39 PM by Alexandre Machado.)
This was my response in Delphi-praxis forum:
I've just tested his test application (without ICS, but the same issue will definitely happen). There is nothing wrong with IntraWeb.
He's using an Indy-based IntraWeb server. He creates a window handle when his application is receiving an incoming request. The Indy HTTP server spawns a worker thread which is freed afterward. The window handle is released when the thread is destroyed. Then he tries to use the same window handle in a subsequent request, from another thread (there is no guarantee that the original thread which created the window handle hasn't been destroyed).
This is documented here: https://docs.microsoft.com/en-us/windows...g-a-thread
BTW: his example works when using Http.sys-based IntraWeb application (not Indy) because the threads are obtained from a thread pool and recycled, so the windows created in one request will be still valid in a subsequent request (although I don't recommend his way of using it at all).
Given that the application behavior is not only expected but also correct, your statement above is obviously false.
I've just tested his test application (without ICS, but the same issue will definitely happen). There is nothing wrong with IntraWeb.
He's using an Indy-based IntraWeb server. He creates a window handle when his application is receiving an incoming request. The Indy HTTP server spawns a worker thread which is freed afterward. The window handle is released when the thread is destroyed. Then he tries to use the same window handle in a subsequent request, from another thread (there is no guarantee that the original thread which created the window handle hasn't been destroyed).
This is documented here: https://docs.microsoft.com/en-us/windows...g-a-thread
BTW: his example works when using Http.sys-based IntraWeb application (not Indy) because the threads are obtained from a thread pool and recycled, so the windows created in one request will be still valid in a subsequent request (although I don't recommend his way of using it at all).
Quote:From FPiette:
In the IntraWeb forum, they just want to hide a problem they overlooked with IntraWeb and they want you to use their product.
Given that the application behavior is not only expected but also correct, your statement above is obviously false.

