---------------------------------------------------------------------------------------------- [BUG/PRB.] VFP 9.0 FIX - CLOSE THE FILE HANDLE AFTER THE FILETOSTR() FUNCTION FAILED June 2024 ---------------------------------------------------------------------------------------------- CCB 1. BUG: In vfp9 (and vfp6, vfp7, vfp8), sometimes vfp will not close the file handle after the FILETOSTR() function failed. The bug was reported by Mrs Martina Jindrova. 2. CAUSE: There are some BUGs in the following code. 3. RESOLUTION: We can write some code to fix the BUG. Label58dab7 :: ; ; ----------------------------------------------------------------------------------- ; VFP 9.0 FIX - CLOSE THE FILE HANDLE AFTER THE FILETOSTR() FUNCTION FAILED ; June 2024 ; ----------------------------------------------------------------------------------- ; CCB ; ; Close the file handle after the FILETOSTR() function failed. ; ; 2024/6/3, by ccb ; cmp dword ptr vfpa_sys9157_data,00h je Label58dab8 cmp dword ptr [ esp + 4 ] , offset Label488e1a ;; Label488d4b .. jne Label58dab8 jmp Label58dabf Label58dab8 :: test byte ptr [ Data936f10 ] , bl ;0x0058dab7 : 841d106f9300 je Label58dae3 ;0x0058dabd : 7424 Label58dabf :: mov eax , dword ptr [ Data936f14 ] ;0x0058dabf : a1146f9300 test eax , eax ;0x0058dac4 : 85c0 jne Label58daed ;0x0058dac6 : 7525 mov dword ptr [ esi + 4 ] , ebx ;0x0058dac8 : 895e04 mov dword ptr [ Data936f14 ] , 0B6h ;0x0058dacb : c705146f9300b6000000 mov byte ptr [esi] , 049h ;0x0058dad5 : c60649 mov dword ptr [ esi + 12 ] , 00h ;0x0058dad8 : c7460c00000000 xor eax , eax ;0x0058dadf : 33c0 pop ebx ;0x0058dae1 : 5b ret ;0x0058dae2 : c3 4. APPLIES TO: VFP 6.0.8167.0 VFP 6.0.8961.0 (SP5) VFP 7.0.0.9262 VFP 7.0.0.9465 (SP1) VFP 8.0.0.2521 VFP 8.0.0.3117 (SP1) VFP 9.0.0.2412 VFP 9.0.0.3504 (SP1) VFP 9.0.0.4611 (SP2) VFP 9.0.0.5015 (SP2) VFP 9.0.0.5411 (SP2) VFP 9.0.0.5721 (SP2) VFP 9.0.0.5815 (SP2) VFP 9.0.0.6303 (SP2) VFP 9.0.0.6602 (SP2) VFP 9.0.0.7423 (SP2) The bug has been fixed in VFP Advanced. 5. REFERENCE WEBSITES: 1, baiyujia.com: http://www.baiyujia.com http://www.baiyujia.com/vfpdocuments/f_vfp9fix324.asp 6. OTHER: For reference only, there is no guarantees. Any questions or suggestions, please send me an email at ccb2000@163.com. |