anthony2014 wrote on Tuesday, April 15, 2014:
fsgl;
I very much appreciate the effort that you have taken to respond and your effort in pointing out a potential work around(which unfortunately did not work on my configuration.)
With your permission, I would like to suggest that specifying the exact configration of a demo would be extremely helpful.
Even though the code was developed in PHP, environmental factors can affect the working of the code. A demo copy without the configuration setting may hide some of the potential causes of the problem.
I will illustrate by example.
I had the opportunity to look at other forum postings and noticed that some questions were related to a Linux setup. Those of you who have programmed both on Linux and Windows are already familiar with the fact that Linux files do not have a carriage return on a newline, whereas windows files do. You may have had the unpleasant experience of having reinstall the Linux OS because you developed a low level shell script on Windows and then copied it to Linux without have passed the file through a formatter to remove the carriage returns, resulting in your Linux-based computer failing to boot. Likewise, though less frequent, certain characters saved on a file in the Linux environment may have unintended effects in a Windows environment.
And even if the characters are saved in the correct formats compatible with both operating systems, the tools used to open the PHP files in the different environments may result in unintended behaviour. For example, you may have developed the code in Linux and saved it to utf8 file format. However, the tool used to open the file on windows may default to CP1251, resulting in lost bytes when the file is closed again and in unintended execution behaviour.
Another thing to take into account is that the windows version of PHP uses VC++6 libraries, which were never fully C++ ANSI standards compliant, so that even if one has applied all the service packs and there were no bugs in the C++ implementation, the implementation and byte ordering of code on VC++6 will not be the same as that of Linux C++(typically ANSI compliant), and may result in unexpected behaviour.
These are but a few of the differences that can arise when working on different environments and that may result in unexpected behaviour on one of the environments.
Thus, as you point out, the demo is great for communicating and stating intended specifications, but an exact specification of the environment that the demo(s) is(are) working in will go a long way to ascertaining whether or not a bug exists within an enviroment - this bug perhaps due to human error in porting the code from one development environment to another, or because of programming-language compiler differences.
My suspicion is that your demo copy, being web-based, is running on Linux, given that LAMP is the most common web site configuration. It is possible that there is a bug on the Windows/XAMPP version of the code which results in failure to delete copay even when using the workaround.