Thank you for looking into this and figuring out the problem. I tested it with ptcpas.cfg with GDI in it and that does indeed prevent it from crashing. Thanks for the work around! Please let me know when DirectX is working again. I'm happy to help test on different versions of Windows. James From: fpc-pascal <fpc-pascal-boun...@lists.freepascal.org> On Behalf Of Nikolay Nikolov via fpc-pascal Sent: Sunday, January 31, 2021 4:30 AM To: ja...@productionautomation.net; 'FPC-Pascal users discussions' <fpc-pascal@lists.freepascal.org> Cc: Nikolay Nikolov <nick...@gmail.com> Subject: Re: [fpc-pascal] PTCGraph Causing 217 On 1/29/21 3:52 PM, Nikolay Nikolov wrote: On 1/29/21 12:37 PM, James Richters wrote: Any idea what's causing this crash yet? Is there some way I can at least detect the error and handle it myself instead of crashing? I'll take a look and try to reproduce it today or tomorrow. Sorry, I've been busy lately. Ok, I reproduced it today. It appears that DirectX applications lose access to their DirectDraw surfaces when a UAC screen appears. Thanks, Microsoft! I'll need some time to provide a proper fix for that, but for now you can try this as a workaround. Create a text file, called ptcpas.cfg in your program's directory and type a single line in it: GDI This will disable the DirectX console and use GDI for rendering. This might be slower (although, you might not notice the difference on a modern PC), but should get rid of the problem. Please let me know if it doesn't work. I'll try to get this fixed in the DirectX console as well, but that requires more careful analysis and testing on different versions of Windows, so it'll take some time. Hope this helps, Nikolay James From: fpc-pascal <mailto:fpc-pascal-boun...@lists.freepascal.org> <fpc-pascal-boun...@lists.freepascal.org> On Behalf Of James Richters via fpc-pascal Sent: Monday, January 11, 2021 9:37 AM To: 'FPC-Pascal users discussions' <mailto:fpc-pascal@lists.freepascal.org> <fpc-pascal@lists.freepascal.org> Cc: James Richters <mailto:james.richt...@productionautomation.net> <james.richt...@productionautomation.net>; 'Nikolay Nikolov' <mailto:nick...@gmail.com> <nick...@gmail.com> Subject: Re: [fpc-pascal] PTCGraph Causing 217 I've made a sample program that demonstrates the problem https://gist.github.com/Zaaphod/936901eb5f31df5044d2bd36a7cf6c91 When I was testing it, I found out that the problem shows up also with PTCCRT.Keypressed, Procedure to re-produce bug in Putimage 1. Run program in Windows 2. Do something that activates Windows User Account Control like open an administrator command prompt 3. Program crashes with exitcode 217 EAccessViolation: Access violation on line 108 which is doing Putimage, even if you answer NO to user account control Procedure to re-produce bug in Keypressed 1. UnComment //Until ptccrt.Keypressed; Comment out //Until ptccrt.Keypressed; 2. Run Program in Windows 3. Do something that activates Windows User Account Control like open an administrator command prompt 4. Program crashes with exitcode 217 EAccessViolation: Access violation on line 114 which is doing Keypresed (sometimes the error is on putimage) Other things that cause it: Unplug monitor and plug it back in Change Display settings Putting computer to sleep Unknown reasons. system just idle James From: fpc-pascal <fpc-pascal-boun...@lists.freepascal.org <mailto:fpc-pascal-boun...@lists.freepascal.org> > On Behalf Of Nikolay Nikolov via fpc-pascal Sent: Thursday, January 7, 2021 2:17 AM To: fpc-pascal@lists.freepascal.org Cc: Nikolay Nikolov <nick...@gmail.com <mailto:nick...@gmail.com> > Subject: Re: [fpc-pascal] PTCGraph Causing 217 On 1/6/21 5:44 PM, James Richters via fpc-pascal wrote: I've been having issues with PTCGraph causing a runtime Error 217 : EAccessViolation: Access violation at seemingly random times in my program. The error is always on a line with either GetImage() or PutImage() but not the same one. The program can run for hours with no problems doing GetImage and PutImage every second or so, and then it just stops with this error. I know that if something disrupts the screen. like if I install a program and the Windows user control thing asks for a password, that ALWAYS causes this to happen, or if I unplug my monitor and plug it back in.. I find that this happens.. but lately it seems to happen for no reason. I don't know enough about it to track it down, but is there some way I Can find out what causes this and prevent the error? It would be nice if I could detect the condition that causes this issue, and if I find that the issues is present, just stop trying to do Getimage() or PutImage() until the condition is resolved. Can you provide an example program and exact steps to reproduce this bug? Nikolay
_______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal