----------------------------------------------------------------------------------------------------------------------------- [ENHANCED] VFP 9.0 FIX - THE MAXIMUM NUMBER OF CHARACTERS FOR CHARACTER MEMORY VARIABLES IN THE LIST MEMORY COMMAND June 2025 ----------------------------------------------------------------------------------------------------------------------------- CCB 1. BUG: In vfp9 (and vfp6, vfp7, vfp8), the maximum number of characters for character memory variables in the LIST MEMORY command is 0xFF (255), now the maximum number of characters for character memory variables in the LIST MEMORY command can be set between 0xFF (255) and 0x0FFFFFE0 (268435424). 2. CAUSE: There are some BUGs in the following code. 3. RESOLUTION: We can write some code to fix the BUG. Fun7130e0 :: ; proc near push ebp ;0x007130e0 : 55 lea ebp , dword ptr [ esp + 0FFFFFE40h ] ;0x007130e1 : 8dac2440feffff sub esp , 024Ch ;0x007130e8 : 81ec4c020000 mov eax , dword ptr [ Data937090 ] ;0x007130ee : a190709300 push ebx ;0x007130f3 : 53 push esi ;0x007130f4 : 56 push edi ;0x007130f5 : 57 mov edi , dword ptr [ ebp + 01C8h ] ;0x007130f6 : 8bbdc8010000 mov esi , ecx ;0x007130fc : 8bf1 pushd 010h ;0x007130fe : 6a10 lea ecx , dword ptr [ ebp + 0FFFFFF78h ] ;0x00713100 : 8d8d78ffffff mov dword ptr [ ebp + 01BCh ] , eax ;0x00713106 : 8985bc010000 call Fun42c19b ;0x0071310c : e88a90d1ff fld qword ptr [ ebp + 01D0h ] ;0x00713111 : dd85d0010000 push ecx ;0x00713117 : 51 push ecx ;0x00713118 : 51 lea eax , dword ptr [ ebp + 0FFFFFF78h ] ;0x00713119 : 8d8578ffffff fstp qword ptr [ esp ] ;0x0071311f : dd1c24 call Fun71306c ;0x00713122 : e845ffffff mov cl , byte ptr [ ebp + 0FFFFFF78h ] ;0x00713127 : 8a8d78ffffff movzx eax , cl ;0x0071312d : 0fb6c1 cmp eax , 04Eh ;0x00713130 : 83f84e jg Label713369 ;0x00713133 : 0f8f30020000 xor ebx , ebx ;0x00713139 : 33db cmp eax , 04Eh ;0x0071313b : 83f84e je Label713256 ;0x0071313e : 0f8412010000 sub eax , 030h ;0x00713144 : 83e830 je Label71324d ;0x00713147 : 0f8400010000 sub eax , 013h ;0x0071314d : 83e813 je Label713185 ;0x00713150 : 7433 dec eax ;0x00713152 : 48 je Label7133de ;0x00713153 : 0f8485020000 sub eax , 05h ;0x00713159 : 83e805 je Label713170 ;0x0071315c : 7412 sub eax , 03h ;0x0071315e : 83e803 jne Label713546 ;0x00713161 : 0f85df030000 mov byte ptr [ ebp - 120 ] , 04Ch ;0x00713167 : c645884c jmp Label7133e7 ;0x0071316b : e977020000 Label713170 :: movzx eax ,word ptr [ ebp + 0FFFFFF7Ah ] ;0x00713170 : 0fb7857affffff fild dword ptr [ ebp - 128 ] ;0x00713177 : db4580 mov dword ptr [ ebp - 112 ] , ebx ;0x0071317a : 895d90 mov dword ptr [ ebp - 116 ] , eax ;0x0071317d : 89458c jmp Label71326c ;0x00713180 : e9e7000000 Label713185 :: mov eax , dword ptr [ ebp + 0FFFFFF7Ch ] ;0x00713185 : 8b857cffffff inc dword ptr [edi] ;0x0071318b : ff07 add dword ptr [esi] , eax ;0x0071318d : 0106 xor ebx , ebx ;0x0071318f : 33db cmp eax , 08h ;0x00713191 : 83f808 mov dword ptr [ ebp + 01C8h ] , eax ;0x00713194 : 8985c8010000 jb Label7131a3 ;0x0071319a : 7207 mov edi , dword ptr [ ebp - 128 ] ;0x0071319c : 8b7d80 mov esi , dword ptr [edi] ;0x0071319f : 8b37 jmp Label7131a8 ;0x007131a1 : eb05 Label7131a3 :: xor edi , edi ;0x007131a3 : 33ff lea esi , dword ptr [ ebp - 128 ] ;0x007131a5 : 8d7580 Label7131a8 :: ; ; ------------------------------------------------------------------------------------------------------------------ ; VFP 9.0 FIX - THE MAXIMUM NUMBER OF CHARACTERS FOR CHARACTER MEMORY VARIABLES IN THE LIST MEMORY COMMAND ; June 2025 ; ------------------------------------------------------------------------------------------------------------------ ; CCB ; ; The maximum number of characters for character memory variables in the LIST | DISPLAY MEMORY command. ; ; 2025/6/28, by ccb ; cmp dword ptr vfpa_sys9188_data,0FFh jbe Label7131a9 cmp eax,dword ptr vfpa_sys9188_data jbe Label7131fa mov eax,dword ptr vfpa_sys9188_data jmp Label7131fa Label7131a9 :: cmp eax , 0FFh ;0x007131a8 : 3dff000000 jbe Label7131fa ;0x007131ad : 764b fld qword ptr [ ebp + 01D0h ] ;0x007131af : dd85d0010000 push ecx ;0x007131b5 : 51 push ecx ;0x007131b6 : 51 fstp qword ptr [ esp ] ;0x007131b7 : dd1c24 pushd 01h ;0x007131ba : 6a01 lea edi , dword ptr [ ebp + 0B8h ] ;0x007131bc : 8dbdb8000000 movsd ;0x007131c2 : a5 pushd 016h ;0x007131c3 : 6a16 push dword ptr [ ebp + 01CCh ] ;0x007131c5 : ffb5cc010000 movsd ;0x007131cb : a5 pushd 0Dh ;0x007131cc : 6a0d lea eax , dword ptr [ ebp + 0B8h ] ;0x007131ce : 8d85b8000000 movsw ;0x007131d4 : 66a5 push eax ;0x007131d6 : 50 mov dword ptr [ ebp + 0C2h ] , 02E2E2Eh ;0x007131d7 : c785c20000002e2e2e00 call Fun71408a ;0x007131e1 : e8a40e0000 test eax , eax ;0x007131e6 : 85c0 jne Label71322b ;0x007131e8 : 7541 pushd 084Ah ;0x007131ea : 684a080000 push dword ptr [ ebp + 01C8h ] ;0x007131ef : ffb5c8010000 jmp Label7134a9 ;0x007131f5 : e9af020000 Label7131fa :: cmp edi , ebx ;0x007131fa : 3bfb je Label71320b ;0x007131fc : 740d mov ecx , dword ptr [edi] ;0x007131fe : 8b0f mov cx , word ptr [ ecx - 8 ] ;0x00713200 : 668b49f8 mov word ptr [ ebp + 01C8h ] , cx ;0x00713204 : 66898dc8010000 Label71320b :: fld qword ptr [ ebp + 01D0h ] ;0x0071320b : dd85d0010000 push ecx ;0x00713211 : 51 push ecx ;0x00713212 : 51 fstp qword ptr [ esp ] ;0x00713213 : dd1c24 pushd 01h ;0x00713216 : 6a01 pushd 016h ;0x00713218 : 6a16 push dword ptr [ ebp + 01CCh ] ;0x0071321a : ffb5cc010000 push eax ;0x00713220 : 50 push esi ;0x00713221 : 56 call Fun71408a ;0x00713222 : e8630e0000 test eax , eax ;0x00713227 : 85c0 je Label713233 ;0x00713229 : 7408 Label71322b :: xor eax , eax ;0x0071322b : 33c0 inc eax ;0x0071322d : 40 jmp Label713548 ;0x0071322e : e915030000 Label713233 :: cmp edi , ebx ;0x00713233 : 3bfb je Label713546 ;0x00713235 : 0f840b030000 mov ebx , dword ptr [ ebp + 01C8h ] ;0x0071323b : 8b9dc8010000 mov eax , edi ;0x00713241 : 8bc7 Label713243 :: call Fun416a98 ;0x00713243 : e85038d0ff jmp Label713546 ;0x00713248 : e9f9020000 Label71324d :: mov byte ptr [ ebp - 120 ] , 030h ;0x0071324d : c6458830 jmp Label7133f0 ;0x00713251 : e99a010000 Label713256 :: movzx eax ,word ptr [ ebp + 0FFFFFF7Ah ] ;0x00713256 : 0fb7857affffff fld qword ptr [ ebp - 128 ] ;0x0071325d : dd4580 mov dword ptr [ ebp - 116 ] , eax ;0x00713260 : 89458c mov eax , dword ptr [ ebp + 0FFFFFF7Ch ] ;0x00713263 : 8b857cffffff mov dword ptr [ ebp - 112 ] , eax ;0x00713269 : 894590 Label71326c :: lea eax , dword ptr [ ebp + 0B8h ] ;0x0071326c : 8d85b8000000 fstp qword ptr [ ebp - 104 ] ;0x00713272 : dd5d98 push eax ;0x00713275 : 50 lea edx , dword ptr [ ebp - 120 ] ;0x00713276 : 8d5588 mov byte ptr [ ebp - 120 ] , 04Eh ;0x00713279 : c645884e call Fun53e80a ;0x0071327d : e888b5e2ff cmp byte ptr [ ebp + 0B8h ] , 020h ;0x00713282 : 80bdb800000020 lea edi , dword ptr [ ebp + 0B8h ] ;0x00713289 : 8dbdb8000000 jne Label713297 ;0x0071328f : 7506 Label713291 :: inc edi ;0x00713291 : 47 cmp byte ptr [edi] , 020h ;0x00713292 : 803f20 je Label713291 ;0x00713295 : 74fa Label713297 :: mov eax , edi ;0x00713297 : 8bc7 lea esi , dword ptr [ eax + 1 ] ;0x00713299 : 8d7001 Label71329c :: mov cl , byte ptr [eax] ;0x0071329c : 8a08 inc eax ;0x0071329e : 40 cmp cl , bl ;0x0071329f : 3acb jne Label71329c ;0x007132a1 : 75f9 fld qword ptr [ ebp + 01D0h ] ;0x007132a3 : dd85d0010000 sub eax , esi ;0x007132a9 : 2bc6 fmul qword ptr [ Data9223b8 ] ;0x007132ab : dc0db8239200 push ebx ;0x007132b1 : 53 or esi , 0FFFFFFFFh ;0x007132b2 : 83ceff push esi ;0x007132b5 : 56 mov dword ptr [ ebp + 01CCh ] , eax ;0x007132b6 : 8985cc010000 push ebx ;0x007132bc : 53 call Fun4337e6 ;0x007132bd : e82405d2ff xor ecx , ecx ;0x007132c2 : 33c9 push eax ;0x007132c4 : 50 mov eax , dword ptr [ ebp + 01CCh ] ;0x007132c5 : 8b85cc010000 push ebx ;0x007132cb : 53 push edi ;0x007132cc : 57 call Fun54039a ;0x007132cd : e8c8d0e2ff fld qword ptr [ ebp - 104 ] ;0x007132d2 : dd4598 push ecx ;0x007132d5 : 51 push ecx ;0x007132d6 : 51 fstp qword ptr [ esp ] ;0x007132d7 : dd1c24 pushd 01h ;0x007132da : 6a01 pushd 013h ;0x007132dc : 6a13 pop edi ;0x007132de : 5f push edi ;0x007132df : 57 lea eax , dword ptr [ ebp + 0B8h ] ;0x007132e0 : 8d85b8000000 push eax ;0x007132e6 : 50 pushd 08h ;0x007132e7 : 6a08 pop ecx ;0x007132e9 : 59 call Fun53ead3 ;0x007132ea : e8e4b7e2ff fld qword ptr [ ebp + 01D0h ] ;0x007132ef : dd85d0010000 push ebx ;0x007132f5 : 53 fadd st(0) , st(0) ;0x007132f6 : dcc0 push esi ;0x007132f8 : 56 push ebx ;0x007132f9 : 53 push ebx ;0x007132fa : 53 call Fun4337e6 ;0x007132fb : e8e604d2ff xor ecx , ecx ;0x00713300 : 33c9 push eax ;0x00713302 : 50 pushd offset Data91ec5c ;0x00713303 : 685cec9100 mov ax , 01h ;0x00713308 : 66b80100 call Fun54039a ;0x0071330c : e889d0e2ff fld qword ptr [ Data921e20 ] ;0x00713311 : dd05201e9200 fld qword ptr [ ebp + 01D0h ] ;0x00713317 : dd85d0010000 fucompp ;0x0071331d : dae9 fstsw ax ;0x0071331f : dfe0 test byte ptr ah , 044h ;0x00713321 : f6c444 jnp Label713329 ;0x00713324 : 7b03 pushd 018h ;0x00713326 : 6a18 pop edi ;0x00713328 : 5f Label713329 :: mov edx , 0100h ;0x00713329 : ba00010000 lea ecx , dword ptr [ ebp + 0B8h ] ;0x0071332e : 8d8db8000000 call Fun41b81c ;0x00713334 : e8e384d0ff push ebx ;0x00713339 : 53 push esi ;0x0071333a : 56 push ebx ;0x0071333b : 53 push edi ;0x0071333c : 57 push ebx ;0x0071333d : 53 lea ecx , dword ptr [ ebp + 0B8h ] ;0x0071333e : 8d8db8000000 push ecx ;0x00713344 : 51 mov ecx , 0400h ;0x00713345 : b900040000 call Fun54039a ;0x0071334a : e84bd0e2ff push ebx ;0x0071334f : 53 push esi ;0x00713350 : 56 push ebx ;0x00713351 : 53 push ebx ;0x00713352 : 53 push ebx ;0x00713353 : 53 pushd offset Data91ec54 ;0x00713354 : 6854ec9100 mov ax , 01h ;0x00713359 : 66b80100 xor ecx , ecx ;0x0071335d : 33c9 call Fun54039a ;0x0071335f : e836d0e2ff jmp Label713546 ;0x00713364 : e9dd010000 Label713369 :: sub eax , 04Fh ;0x00713369 : 83e84f je Label713520 ;0x0071336c : 0f84ae010000 dec eax ;0x00713372 : 48 dec eax ;0x00713373 : 48 je Label713419 ;0x00713374 : 0f849f000000 dec eax ;0x0071337a : 48 dec eax ;0x0071337b : 48 je Label713404 ;0x0071337c : 0f8482000000 dec eax ;0x00713382 : 48 je Label7133de ;0x00713383 : 7459 sub eax , 05h ;0x00713385 : 83e805 jne Label713546 ;0x00713388 : 0f85b8010000 movzx eax ,word ptr [ ebp + 0FFFFFF7Ah ] ;0x0071338e : 0fb7857affffff mov dword ptr [ ebp - 116 ] , eax ;0x00713395 : 89458c mov eax , dword ptr [ ebp + 0FFFFFF7Ch ] ;0x00713398 : 8b857cffffff mov dword ptr [ ebp - 112 ] , eax ;0x0071339e : 894590 mov eax , dword ptr [ ebp - 128 ] ;0x007133a1 : 8b4580 mov dword ptr [ ebp - 96 ] , eax ;0x007133a4 : 8945a0 mov eax , dword ptr [ ebp - 124 ] ;0x007133a7 : 8b4584 mov dword ptr [ ebp - 92 ] , eax ;0x007133aa : 8945a4 lea eax , dword ptr [ ebp + 0B8h ] ;0x007133ad : 8d85b8000000 push eax ;0x007133b3 : 50 lea edx , dword ptr [ ebp - 120 ] ;0x007133b4 : 8d5588 mov byte ptr [ ebp - 120 ] , 059h ;0x007133b7 : c6458859 call Fun53e80a ;0x007133bb : e84ab4e2ff cmp byte ptr [ ebp + 0B8h ] , 020h ;0x007133c0 : 80bdb800000020 lea eax , dword ptr [ ebp + 0B8h ] ;0x007133c7 : 8d85b8000000 jne Label71353f ;0x007133cd : 0f856c010000 Label7133d3 :: inc eax ;0x007133d3 : 40 cmp byte ptr [eax] , 020h ;0x007133d4 : 803820 je Label7133d3 ;0x007133d7 : 74fa jmp Label71353f ;0x007133d9 : e961010000 Label7133de :: fld qword ptr [ ebp - 128 ] ;0x007133de : dd4580 mov byte ptr [ ebp - 120 ] , cl ;0x007133e1 : 884d88 fstp qword ptr [ ebp - 104 ] ;0x007133e4 : dd5d98 Label7133e7 :: mov eax , dword ptr [ ebp + 0FFFFFF7Ch ] ;0x007133e7 : 8b857cffffff mov dword ptr [ ebp - 112 ] , eax ;0x007133ed : 894590 Label7133f0 :: lea eax , dword ptr [ ebp + 0B8h ] ;0x007133f0 : 8d85b8000000 push eax ;0x007133f6 : 50 lea edx , dword ptr [ ebp - 120 ] ;0x007133f7 : 8d5588 call Fun53e80a ;0x007133fa : e80bb4e2ff jmp Label713539 ;0x007133ff : e935010000 Label713404 :: push dword ptr [ ebp - 124 ] ;0x00713404 : ff7584 movzx eax ,word ptr [ ebp + 0FFFFFF7Ah ] ;0x00713407 : 0fb7857affffff push eax ;0x0071340e : 50 pushd offset Data928784 ;0x0071340f : 6884879200 jmp Label7134ae ;0x00713414 : e995000000 Label713419 :: mov eax , dword ptr [ ebp + 0FFFFFF7Ch ] ;0x00713419 : 8b857cffffff inc dword ptr [edi] ;0x0071341f : ff07 add dword ptr [esi] , eax ;0x00713421 : 0106 xor ebx , ebx ;0x00713423 : 33db cmp eax , 08h ;0x00713425 : 83f808 mov edi , eax ;0x00713428 : 8bf8 jb Label713435 ;0x0071342a : 7209 mov ecx , dword ptr [ ebp - 128 ] ;0x0071342c : 8b4d80 mov esi , ecx ;0x0071342f : 8bf1 mov ecx , dword ptr [ecx] ;0x00713431 : 8b09 jmp Label71343a ;0x00713433 : eb05 Label713435 :: xor esi , esi ;0x00713435 : 33f6 lea ecx , dword ptr [ ebp - 128 ] ;0x00713437 : 8d4d80 Label71343a :: lea edx , dword ptr [ eax + eax + 2 ] ;0x0071343a : 8d540002 cmp edx , 0FFh ;0x0071343e : 81faff000000 mov byte ptr [ ebp + 0B8h ] , 030h ;0x00713444 : c685b800000030 mov byte ptr [ ebp + 0B9h ] , 068h ;0x0071344b : c685b900000068 jbe Label7134bb ;0x00713452 : 7667 cmp eax , 05h ;0x00713454 : 83f805 jb Label71345c ;0x00713457 : 7203 pushd 05h ;0x00713459 : 6a05 pop eax ;0x0071345b : 58 Label71345c :: lea edx , dword ptr [ ebp + 0BAh ] ;0x0071345c : 8d95ba000000 push edx ;0x00713462 : 52 call Fun78244e ;0x00713463 : e8e6ef0600 fld qword ptr [ ebp + 01D0h ] ;0x00713468 : dd85d0010000 push ecx ;0x0071346e : 51 push ecx ;0x0071346f : 51 fstp qword ptr [ esp ] ;0x00713470 : dd1c24 push ebx ;0x00713473 : 53 pushd 016h ;0x00713474 : 6a16 push dword ptr [ ebp + 01CCh ] ;0x00713476 : ffb5cc010000 mov byte ptr [ ebp + eax + 0BAh ] , bl ;0x0071347c : 889c05ba000000 pushd 0Fh ;0x00713483 : 6a0f lea eax , dword ptr [ ebp + 0B8h ] ;0x00713485 : 8d85b8000000 push eax ;0x0071348b : 50 mov dword ptr [ ebp + 0C4h ] , 02E2E2Eh ;0x0071348c : c785c40000002e2e2e00 call Fun71408a ;0x00713496 : e8ef0b0000 test eax , eax ;0x0071349b : 85c0 jne Label71322b ;0x0071349d : 0f8588fdffff pushd 084Ah ;0x007134a3 : 684a080000 push edi ;0x007134a8 : 57 Label7134a9 :: pushd offset Data928790 ;0x007134a9 : 6890879200 Label7134ae :: call Fun539df5 ;0x007134ae : e84269e2ff add esp , 0Ch ;0x007134b3 : 83c40c jmp Label713546 ;0x007134b6 : e98b000000 Label7134bb :: cmp esi , ebx ;0x007134bb : 3bf3 je Label7134c7 ;0x007134bd : 7408 mov edx , dword ptr [esi] ;0x007134bf : 8b16 mov di , word ptr [ edx - 8 ] ;0x007134c1 : 668b7af8 jmp Label7134cd ;0x007134c5 : eb06 Label7134c7 :: mov edi , dword ptr [ ebp + 01C8h ] ;0x007134c7 : 8bbdc8010000 Label7134cd :: cmp eax , 07Eh ;0x007134cd : 83f87e jb Label7134d5 ;0x007134d0 : 7203 pushd 07Eh ;0x007134d2 : 6a7e pop eax ;0x007134d4 : 58 Label7134d5 :: lea edx , dword ptr [ ebp + 0BAh ] ;0x007134d5 : 8d95ba000000 push edx ;0x007134db : 52 call Fun78244e ;0x007134dc : e86def0600 fld qword ptr [ ebp + 01D0h ] ;0x007134e1 : dd85d0010000 push ecx ;0x007134e7 : 51 push ecx ;0x007134e8 : 51 fstp qword ptr [ esp ] ;0x007134e9 : dd1c24 push ebx ;0x007134ec : 53 pushd 016h ;0x007134ed : 6a16 push dword ptr [ ebp + 01CCh ] ;0x007134ef : ffb5cc010000 inc eax ;0x007134f5 : 40 inc eax ;0x007134f6 : 40 push eax ;0x007134f7 : 50 mov byte ptr [ ebp + eax + 0B8h ] , bl ;0x007134f8 : 889c05b8000000 lea eax , dword ptr [ ebp + 0B8h ] ;0x007134ff : 8d85b8000000 push eax ;0x00713505 : 50 call Fun71408a ;0x00713506 : e87f0b0000 test eax , eax ;0x0071350b : 85c0 jne Label71322b ;0x0071350d : 0f8518fdffff cmp esi , ebx ;0x00713513 : 3bf3 je Label713546 ;0x00713515 : 742f mov ebx , edi ;0x00713517 : 8bdf mov eax , esi ;0x00713519 : 8bc6 jmp Label713243 ;0x0071351b : e923fdffff Label713520 :: mov eax , dword ptr [ ebp - 128 ] ;0x00713520 : 8b4580 lea ecx , dword ptr [ ebp + 0B8h ] ;0x00713523 : 8d8db8000000 call Fun4b1904 ;0x00713529 : e8d6e3d9ff lea eax , dword ptr [ ebp + 0B8h ] ;0x0071352e : 8d85b8000000 call Fun7e0865 ;0x00713534 : e82cd30c00 Label713539 :: lea eax , dword ptr [ ebp + 0B8h ] ;0x00713539 : 8d85b8000000 Label71353f :: push eax ;0x0071353f : 50 call Fun539df5 ;0x00713540 : e8b068e2ff pop ecx ;0x00713545 : 59 Label713546 :: xor eax , eax ;0x00713546 : 33c0 Label713548 :: mov ecx , dword ptr [ ebp + 01BCh ] ;0x00713548 : 8b8dbc010000 call Fun42bf1d ;0x0071354e : e8ca89d1ff pop edi ;0x00713553 : 5f pop esi ;0x00713554 : 5e pop ebx ;0x00713555 : 5b add ebp , 01C0h ;0x00713556 : 81c5c0010000 leave ;0x0071355c : c9 ret 010h ;0x0071355d : c21000 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_vfp9fix382.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix170.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix182.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix183.asp 6. OTHER: For reference only, there is no guarantees. Any questions or suggestions, please send me an email at ccb2000@163.com. |