[fpc-pascal] PTCGraph Causing 217

Nikolay Nikolov nickysn at gmail.com
Sun Jan 31 10:29:52 CET 2021


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 <fpc-pascal-bounces at lists.freepascal.org> *On 
>> Behalf Of *James Richters via fpc-pascal
>> *Sent:* Monday, January 11, 2021 9:37 AM
>> *To:* 'FPC-Pascal users discussions' <fpc-pascal at lists.freepascal.org>
>> *Cc:* James Richters <james.richters at productionautomation.net>; 
>> 'Nikolay Nikolov' <nickysn at 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 
>> <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-bounces at lists.freepascal.org 
>> <mailto:fpc-pascal-bounces at lists.freepascal.org>> *On Behalf Of 
>> *Nikolay Nikolov via fpc-pascal
>> *Sent:* Thursday, January 7, 2021 2:17 AM
>> *To:* fpc-pascal at lists.freepascal.org 
>> <mailto:fpc-pascal at lists.freepascal.org>
>> *Cc:* Nikolay Nikolov <nickysn at gmail.com <mailto:nickysn at 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
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20210131/5ed08ea9/attachment-0001.htm>


More information about the fpc-pascal mailing list