--------------------------------------------------------------------------------- [ENHANCED] VFP 9.0 FIX - THE DEFAULT VALUE FOR THE SET ODOMETER COMMAND January 2024 --------------------------------------------------------------------------------- CCB 1. BUG: In vfp9 (and vfp6, vfp7, vfp8), the default value is 100 records for the SET ODOMETER command, now the default value is 10000 records for the SET ODOMETER command. 2. CAUSE: There are some BUGs in the following code. 3. RESOLUTION: We can write some code to fix the BUG. Fun52c83b :: ; proc near push ebp ;0x0052c83b : 55 lea ebp , dword ptr [ esp - 120 ] ;0x0052c83c : 8d6c2488 sub esp , 0708h ;0x0052c840 : 81ec08070000 mov eax , dword ptr [ Data937090 ] ;0x0052c846 : a190709300 push ebx ;0x0052c84b : 53 mov ebx , dword ptr [ Data9393ac ] ;0x0052c84c : 8b1dac939300 mov dword ptr [ ebp + 116 ] , eax ;0x0052c852 : 894574 mov al , byte ptr [ebx] ;0x0052c855 : 8a03 movzx eax , al ;0x0052c857 : 0fb6c0 inc ebx ;0x0052c85a : 43 dec eax ;0x0052c85b : 48 cmp eax , 094h ;0x0052c85c : 3d94000000 push esi ;0x0052c861 : 56 push edi ;0x0052c862 : 57 mov dword ptr [ Data9393ac ] , ebx ;0x0052c863 : 891dac939300 ja Label52c900 ;0x0052c869 : 0f8791000000 movzx eax ,byte ptr [ eax + offset Data52c918 ] ;0x0052c86f : 0fb68018c95200 jmp dword ptr [ 4 * eax + offset DataPtr52c6d3 ] ;0x0052c876 : ff2485d3c65200 Label52c900 :: xor eax , eax ;0x0052c900 : 33c0 lea esp , dword ptr [ ebp + 0FFFFF964h ] ;0x0052c902 : 8da564f9ffff mov ecx , dword ptr [ ebp + 116 ] ;0x0052c908 : 8b4d74 call Fun42bf1d ;0x0052c90b : e80df6efff pop edi ;0x0052c910 : 5f pop esi ;0x0052c911 : 5e pop ebx ;0x0052c912 : 5b add ebp , 078h ;0x0052c913 : 83c578 leave ;0x0052c916 : c9 ret ;0x0052c917 : c3 Label5e1bb7 :: inc ebx ;0x005e1bb7 : 43 cmp byte ptr [ebx] , 0FEh ;0x005e1bb8 : 803bfe mov dword ptr [ Data9393ac ] , ebx ;0x005e1bbb : 891dac939300 jne Label5e1bd2 ;0x005e1bc1 : 750f ; ; ---------------------------------------------------------------------- ; VFP 9.0 FIX - THE DEFAULT VALUE FOR THE SET ODOMETER COMMAND ; May 2021 ; ---------------------------------------------------------------------- ; CCB ; ; In vfp9, the default value is 100 records for the SET ODOMETER command, ; now the default value is 10000 records for the SET ODOMETER command. ; ; 2021/5/18, by ccb ; ; mov dword ptr [ Data945444 ] , 064h ;0x005e1bc3 : c7054454940064000000 mov dword ptr [ Data945444 ] , 02710h ;0x005e1bc3 : c7054454940064000000 jmp Label52c900 ;0x005e1bcd : e92eadf4ff 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_vfp9fix11.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix175.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix176.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix234.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix280.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix281.asp 6. OTHER: For reference only, there is no guarantees. Any questions or suggestions, please send me an email at ccb2000@163.com. |