------------------------------------------------------------------------------------- [NEW.....] VFP 9.0 FIX - EXPAND THE SPECIAL TERMS IN THE CONFIGURATION FILE January 2024 ------------------------------------------------------------------------------------- CCB 1. BUG: In vfp9 (and vfp6, vfp7, vfp8), it never expands the special terms in the configuration file at startup. In VFP Advanced, it always expands the special terms in the configuration file at startup. The suggestion comes from John Ryan. 2. CAUSE: There are some BUGs in the following code. 3. RESOLUTION: We can write some code to fix the BUG. Label40a540 :: cmp dword ptr [ ebp + 0FFFFFF3Ch ] , 06D1h ;0x0040a540 : 81bd3cffffffd1060000 je Label5d615c ;0x0040a54a : 0f840cbc1c00 lea eax , dword ptr [ ebp + 0FFFFFF40h ] ;0x0040a550 : 8d8540ffffff lea ecx , dword ptr [ ebp + 0FFFFFF60h ] ;0x0040a556 : 8d8d60ffffff call Fun415309 ;0x0040a55c : e8a8ad0000 ; ; -------------------------------------------------------------------------- ; VFP 9.0 FIX - EXPAND THE SPECIAL TERMS IN THE CONFIGURATION FILE ; March 2019 ; -------------------------------------------------------------------------- ; CCB ; ; Expand the special terms in the configuration file. ; ; 2019/3/14, by ccb ; cmp dword ptr vfpa_sys9020_data,00h je Label40a561 mov dword ptr [ ebp + 0FFFFFD18h ] , eax push 100h push dword ptr [ ebp + 0FFFFFF58h ] call vfpa_expandconfigterms mov eax , dword ptr [ ebp + 0FFFFFD18h ] Label40a561 :: cmp eax , 07h ;0x0040a561 : 83f807 mov dword ptr [ ebp + 0FFFFFD18h ] , eax ;0x0040a564 : 898518fdffff je Label40a5e2 ;0x0040a56a : 7476 cmp eax , 067h ;0x0040a56c : 83f867 je Label40a5e2 ;0x0040a56f : 7471 cmp eax , 030h ;0x0040a571 : 83f830 je Label5d61b3 ;0x0040a574 : 0f8439bc1c00 mov edi , strncmp ;0x0040a57a : 8b3dcc799100 pushd 04h ;0x0040a580 : 6a04 lea eax , dword ptr [ ebp + 0FFFFFE38h ] ;0x0040a582 : 8d8538feffff pushd offset Data9191dc ;0x0040a588 : 68dc919100 push eax ;0x0040a58d : 50 call edi ;0x0040a58e : ffd7 add esp , 0Ch ;0x0040a590 : 83c40c test eax , eax ;0x0040a593 : 85c0 je Label5d61fb ;0x0040a595 : 0f8460bc1c00 pushd 05h ;0x0040a59b : 6a05 lea eax , dword ptr [ ebp + 0FFFFFE38h ] ;0x0040a59d : 8d8538feffff pushd offset Data91cc84 ;0x0040a5a3 : 6884cc9100 push eax ;0x0040a5a8 : 50 call edi ;0x0040a5a9 : ffd7 add esp , 0Ch ;0x0040a5ab : 83c40c test eax , eax ;0x0040a5ae : 85c0 je Label5d61fb ;0x0040a5b0 : 0f8445bc1c00 Label40a5b6 :: cmp dword ptr [ ebp + 120 ] , ebx ;0x0040a5b6 : 395d78 je Label40a5e2 ;0x0040a5b9 : 7427 push ebx ;0x0040a5bb : 53 xor edi , edi ;0x0040a5bc : 33ff inc edi ;0x0040a5be : 47 push edi ;0x0040a5bf : 57 push ebx ;0x0040a5c0 : 53 lea eax , dword ptr [ ebp + 0FFFFFF38h ] ;0x0040a5c1 : 8d8538ffffff push eax ;0x0040a5c7 : 50 call Fun430428 ;0x0040a5c8 : e85b5e0200 cmp eax , edi ;0x0040a5cd : 3bc7 jne Label5d6256 ;0x0040a5cf : 0f8581bc1c00 cmp dword ptr [ ebp + 0FFFFFF3Ch ] , 010h ;0x0040a5d5 : 83bd3cffffff10 jne Label5d6256 ;0x0040a5dc : 0f8574bc1c00 Label40a5e2 :: mov eax , dword ptr [ ebp + 0FFFFFD18h ] ;0x0040a5e2 : 8b8518fdffff cmp eax , 0F6h ;0x0040a5e8 : 3df6000000 ja Label5d6273 ;0x0040a5ed : 0f8780bc1c00 movzx eax ,byte ptr [ eax + offset Data413716 ] ;0x0040a5f3 : 0fb68016374100 jmp dword ptr [ 4 * eax + offset DataPtr413526 ] ;0x0040a5fa : ff248526354100 4. APPLIES TO: VFP 10 (VFP Advanced) 5. REFERENCE WEBSITES: 1, baiyujia.com: http://www.baiyujia.com http://www.baiyujia.com/vfpdocuments/f_vfp9fix79.asp 6. OTHER: For reference only, there is no guarantees. Any questions or suggestions, please send me an email at ccb2000@163.com. |