-----------------------------------------------------------------------------------------------------------------------------
[BUG/PRB.] VFP 9.0 FIX - APPEND THE PATH OF THE FILE CHOSEN IN THE OPEN DIALOG BOX TO THE VISUAL FOXPRO SEARCH PATH
January 2026
-----------------------------------------------------------------------------------------------------------------------------
CCB
1. BUG:
In vfp9 (and vfp6, vfp7, vfp8), after we choose a file in some open dialog boxes,
it will append the path of the file to the Visual FoxPro search path.
The bug occurs in the following dialog boxes:
LOCFILE() function (Open dialog box)
NEWOBJECT() function (Locate class dialog box)
MODIFY QUERY | CREATE QUERY command (Locate table file dialog box)
MODIFY VIEW | CREATE SQL VIEW - SQL command (Locate table file dialog box)
REPORT FORM | LABEL FORM command (Locate image file dialog box)
SYSTEM MENU: Table --> Append Records (Locate macimp.app dialog box)
DataEnvironment object (Locate database dialog box)
IntelliSense Manager (Locate foxcode.dbf dialog box)
The bug does not occur in the following dialog boxes:
GETDIR() function (Select directory dialog box)
GETFILE() function (Open dialog box)
GETPICT() function (Open picture dialog box)
PUTFILE() function (Save as dialog box)
In VFP Advanced, if we disable appending the path of the file chosen in the open dialog box to the Visual FoxPro search path,
after we choose a file in some open dialog boxes, it will not append the path of the file to the Visual FoxPro search path.
2. CAUSE:
There are some BUGs in the following code.
3. RESOLUTION:
We can write some code to fix the BUG.
CallBack7504c4 :: ; proc near
push ebp ;0x007504c4 : 55
mov ebp , esp ;0x007504c5 : 8bec
and esp , 0FFFFFFF8h ;0x007504c7 : 83e4f8
sub esp , 053Ch ;0x007504ca : 81ec3c050000
mov eax , dword ptr [ Data937090 ] ;0x007504d0 : a190709300
push ebx ;0x007504d5 : 53
push esi ;0x007504d6 : 56
push edi ;0x007504d7 : 57
mov dword ptr [ esp + 0544h ] , eax ;0x007504d8 : 89842444050000
call Fun420d8c ;0x007504df : e8a808cdff
mov ecx , eax ;0x007504e4 : 8bc8
xor eax , eax ;0x007504e6 : 33c0
lea esi , dword ptr [ ecx + 8 ] ;0x007504e8 : 8d7108
mov dword ptr [ esp + 20 ] , ecx ;0x007504eb : 894c2414
mov dword ptr [ esp + 36 ] , eax ;0x007504ef : 89442424
mov dword ptr [ esp + 32 ] , eax ;0x007504f3 : 89442420
lea ebx , dword ptr [ esp + 0138h ] ;0x007504f7 : 8d9c2438010000
mov dword ptr [ esp + 24 ] , esi ;0x007504fe : 89742418
mov dword ptr [ esp + 28 ] , esi ;0x00750502 : 8974241c
Label750506 ::
cmp dword ptr [ Data936f1c ] , eax ;0x00750506 : 39051c6f9300
mov byte ptr [ebx] , 00h ;0x0075050c : c60300
jle Label750549 ;0x0075050f : 7e38
lea eax , dword ptr [ esi - 8 ] ;0x00750511 : 8d46f8
call Fun42371d ;0x00750514 : e80432cdff
mov ecx , dword ptr [esi] ;0x00750519 : 8b0e
mov eax , 0FFh ;0x0075051b : b8ff000000
cmp ecx , eax ;0x00750520 : 3bc8
ja Label750526 ;0x00750522 : 7702
mov eax , ecx ;0x00750524 : 8bc1
Label750526 ::
mov edx , dword ptr [ esi + 24 ] ;0x00750526 : 8b5618
mov esi , dword ptr [edx] ;0x00750529 : 8b32
mov ecx , eax ;0x0075052b : 8bc8
mov edx , ecx ;0x0075052d : 8bd1
shr ecx , 02h ;0x0075052f : c1e902
mov edi , ebx ;0x00750532 : 8bfb
rep movsd ;0x00750534 : f3a5
mov ecx , edx ;0x00750536 : 8bca
and ecx , 03h ;0x00750538 : 83e103
rep movsb ;0x0075053b : f3a4
mov esi , dword ptr [ esp + 28 ] ;0x0075053d : 8b74241c
mov byte ptr [ eax + ebx ] , 00h ;0x00750541 : c6041800
mov eax , dword ptr [ esp + 32 ] ;0x00750545 : 8b442420
Label750549 ::
inc eax ;0x00750549 : 40
add esi , 02Ch ;0x0075054a : 83c62c
add ebx , 0101h ;0x0075054d : 81c301010000
cmp eax , 04h ;0x00750553 : 83f804
mov dword ptr [ esp + 32 ] , eax ;0x00750556 : 89442420
mov dword ptr [ esp + 28 ] , esi ;0x0075055a : 8974241c
jl Label750506 ;0x0075055e : 7ca6
mov al , byte ptr [ esp + 043Bh ] ;0x00750560 : 8a84243b040000
test al , al ;0x00750567 : 84c0
jne Label750576 ;0x00750569 : 750b
mov dword ptr [ esp + 043Bh ] , 00h ;0x0075056b : c784243b04000000000000
Label750576 ::
mov al , byte ptr [ esp + 0239h ] ;0x00750576 : 8a842439020000
test al , al ;0x0075057d : 84c0
mov dword ptr [ esp + 16 ] , 00h ;0x0075057f : c744241000000000
je Label750600 ;0x00750587 : 7477
lea eax , dword ptr [ esp + 16 ] ;0x00750589 : 8d442410
push eax ;0x0075058d : 50
lea ecx , dword ptr [ esp + 013Ch ] ;0x0075058e : 8d8c243c010000
push ecx ;0x00750595 : 51
lea edx , dword ptr [ esp + 56 ] ;0x00750596 : 8d542438
push edx ;0x0075059a : 52
lea eax , dword ptr [ esp + 0245h ] ;0x0075059b : 8d842445020000
push eax ;0x007505a2 : 50
call Fun74c904 ;0x007505a3 : e85cc3ffff
test eax , eax ;0x007505a8 : 85c0
je Label7508d8 ;0x007505aa : 0f8428030000
mov eax , dword ptr [ esp + 16 ] ;0x007505b0 : 8b442410
test eax , eax ;0x007505b4 : 85c0
je Label7505f9 ;0x007505b6 : 7441
xor edx , edx ;0x007505b8 : 33d2
lea ecx , dword ptr [ esp + 48 ] ;0x007505ba : 8d4c2430
call Fun43d2bf ;0x007505be : e8fcccceff
mov esi , eax ;0x007505c3 : 8bf0
test esi , esi ;0x007505c5 : 85f6
je Label7505f1 ;0x007505c7 : 7428
mov ecx , dword ptr [esi] ;0x007505c9 : 8b0e
pushd 00h ;0x007505cb : 6a00
pushd 05Ch ;0x007505cd : 6a5c
pushd 0100h ;0x007505cf : 6800010000
lea edx , dword ptr [ esp + 0144h ] ;0x007505d4 : 8d942444010000
call Fun43d33e ;0x007505db : e85ecdceff
mov ecx , esi ;0x007505e0 : 8bce
call Fun42c1e2 ;0x007505e2 : e8fbbbcdff
mov eax , 08000h ;0x007505e7 : b800800000
jmp Label75067c ;0x007505ec : e98b000000
Label7505f1 ::
mov byte ptr [ esp + 0138h ] , 00h ;0x007505f1 : c684243801000000
Label7505f9 ::
mov eax , 08000h ;0x007505f9 : b800800000
jmp Label75067c ;0x007505fe : eb7c
Label750600 ::
xor ebx , ebx ;0x00750600 : 33db
lea edx , dword ptr [ esp + 0138h ] ;0x00750602 : 8d942438010000
lea edi , dword ptr [ esp + 48 ] ;0x00750609 : 8d7c2430
call Fun74c83d ;0x0075060d : e82bc2ffff
cmp eax , 01h ;0x00750612 : 83f801
mov dword ptr [ esp + 16 ] , eax ;0x00750615 : 89442410
jne Label750651 ;0x00750619 : 7536
xor edx , edx ;0x0075061b : 33d2
mov ecx , edi ;0x0075061d : 8bcf
call Fun43d2bf ;0x0075061f : e89bccceff
mov esi , eax ;0x00750624 : 8bf0
test esi , esi ;0x00750626 : 85f6
je Label750649 ;0x00750628 : 741f
mov ecx , dword ptr [esi] ;0x0075062a : 8b0e
push ebx ;0x0075062c : 53
pushd 05Ch ;0x0075062d : 6a5c
pushd 0100h ;0x0075062f : 6800010000
lea edx , dword ptr [ esp + 0144h ] ;0x00750634 : 8d942444010000
call Fun43d33e ;0x0075063b : e8feccceff
mov ecx , esi ;0x00750640 : 8bce
call Fun42c1e2 ;0x00750642 : e89bbbcdff
jmp Label750651 ;0x00750647 : eb08
Label750649 ::
mov byte ptr [ esp + 0138h ] , 00h ;0x00750649 : c684243801000000
Label750651 ::
lea eax , dword ptr [ esp + 0239h ] ;0x00750651 : 8d842439020000
mov esi , offset Data91fb38 ;0x00750658 : be38fb9100
mov ecx , eax ;0x0075065d : 8bc8
mov edx , 0100h ;0x0075065f : ba00010000
sub esi , ecx ;0x00750664 : 2bf1
Label750666 ::
mov cl , byte ptr [ esi + eax ] ;0x00750666 : 8a0c06
dec edx ;0x00750669 : 4a
test cl , cl ;0x0075066a : 84c9
je Label750675 ;0x0075066c : 7407
mov byte ptr [eax] , cl ;0x0075066e : 8808
inc eax ;0x00750670 : 40
test edx , edx ;0x00750671 : 85d2
ja Label750666 ;0x00750673 : 77f1
Label750675 ::
mov byte ptr [eax] , 00h ;0x00750675 : c60000
mov eax , dword ptr [ esp + 36 ] ;0x00750678 : 8b442424
Label75067c ::
mov ecx , dword ptr [ esp + 16 ] ;0x0075067c : 8b4c2410
test ecx , ecx ;0x00750680 : 85c9
jne Label750742 ;0x00750682 : 0f85ba000000
mov ecx , dword ptr [ esp + 043Bh ] ;0x00750688 : 8b8c243b040000
lea edx , dword ptr [ esp + 0138h ] ;0x0075068f : 8d942438010000
push edx ;0x00750696 : 52
pushd 00h ;0x00750697 : 6a00
pushd 00h ;0x00750699 : 6a00
pushd 00h ;0x0075069b : 6a00
push ecx ;0x0075069d : 51
pushd offset Data91aed0 ;0x0075069e : 68d0ae9100
push eax ;0x007506a3 : 50
pushd 00h ;0x007506a4 : 6a00
lea edx , dword ptr [ esp + 0259h ] ;0x007506a6 : 8d942459020000
push edx ;0x007506ad : 52
pushd 00h ;0x007506ae : 6a00
lea edx , dword ptr [ esp + 88 ] ;0x007506b0 : 8d542458
lea ecx , dword ptr [ esp + 0362h ] ;0x007506b4 : 8d8c2462030000
call Fun7a0587 ;0x007506bb : e8c7fe0400
test eax , eax ;0x007506c0 : 85c0
jne Label7506ec ;0x007506c2 : 7528
test byte ptr [ Data936f10 ] , 01h ;0x007506c4 : f605106f930001
je Label7506e2 ;0x007506cb : 7415
mov eax , dword ptr [ Data936f14 ] ;0x007506cd : a1146f9300
test eax , eax ;0x007506d2 : 85c0
jne Label750742 ;0x007506d4 : 756c
mov dword ptr [ Data936f14 ] , 078h ;0x007506d6 : c705146f930078000000
jmp Label750742 ;0x007506e0 : eb60
Label7506e2 ::
mov ecx , 078h ;0x007506e2 : b978000000
call Fun544742 ;0x007506e7 : e85640dfff
Label7506ec ::
xor edx , edx ;0x007506ec : 33d2
lea ecx , dword ptr [ esp + 48 ] ;0x007506ee : 8d4c2430
call Fun43d2bf ;0x007506f2 : e8c8cbceff
mov esi , dword ptr [eax] ;0x007506f7 : 8b30
mov ecx , esi ;0x007506f9 : 8bce
lea edi , dword ptr [ ecx + 1 ] ;0x007506fb : 8d7901
nop ;0x007506fe : 90
Label7506ff ::
mov dl , byte ptr [ecx] ;0x007506ff : 8a11
inc ecx ;0x00750701 : 41
test dl , dl ;0x00750702 : 84d2
jne Label7506ff ;0x00750704 : 75f9
sub ecx , edi ;0x00750706 : 2bcf
inc ecx ;0x00750708 : 41
mov edx , ecx ;0x00750709 : 8bd1
shr ecx , 02h ;0x0075070b : c1e902
lea edi , dword ptr [ esp + 0138h ] ;0x0075070e : 8dbc2438010000
rep movsd ;0x00750715 : f3a5
mov ecx , edx ;0x00750717 : 8bca
and ecx , 03h ;0x00750719 : 83e103
rep movsb ;0x0075071c : f3a4
mov ecx , eax ;0x0075071e : 8bc8
call Fun42c1e2 ;0x00750720 : e8bdbacdff
lea eax , dword ptr [ esp + 48 ] ;0x00750725 : 8d442430
push eax ;0x00750729 : 50
lea ecx , dword ptr [ esp + 48 ] ;0x0075072a : 8d4c2430
push ecx ;0x0075072e : 51
call Fun434bcf ;0x0075072f : e89b44ceff
;
; ------------------------------------------------------------------------------------------------------------------
; VFP 9.0 FIX - APPEND THE PATH OF THE FILE CHOSEN IN THE OPEN DIALOG BOX TO THE VISUAL FOXPRO SEARCH PATH
; October 2024
; ------------------------------------------------------------------------------------------------------------------
; CCB
;
; Append the path of the file chosen in the open dialog box to the Visual FoxPro search path.
; LOCFILE() function (Open dialog box).
;
; 2024/10/11, by ccb
;
cmp dword ptr vfpa_sys917401_data,00h
je Label750742
mov eax , offset Data93a8c0 ;0x00750734 : b8c0a89300
lea ecx , dword ptr [ esp + 44 ] ;0x00750739 : 8d4c242c
call Fun409834 ;0x0075073d : e8f290cbff
Label750742 ::
mov dl , byte ptr [ Data9428dc ] ;0x00750742 : 8a15dc289400
xor dl , 01h ;0x00750748 : 80f201
je Label750874 ;0x0075074b : 0f8423010000
mov ecx , dword ptr [ Data9388cc ] ;0x00750751 : 8b0dcc889300
mov al , byte ptr [ Data9388c8 ] ;0x00750757 : a0c8889300
inc ecx ;0x0075075c : 41
test al , al ;0x0075075d : 84c0
mov dword ptr [ Data9388cc ] , ecx ;0x0075075f : 890dcc889300
je Label75077c ;0x00750765 : 7415
lea eax , dword ptr [ esp + 36 ] ;0x00750767 : 8d442424
push eax ;0x0075076b : 50
call GetCursorPos ;0x0075076c : ff1580759100
mov ecx , dword ptr [ esp + 36 ] ;0x00750772 : 8b4c2424
mov eax , dword ptr [ esp + 40 ] ;0x00750776 : 8b442428
jmp Label750782 ;0x0075077a : eb06
Label75077c ::
or eax , 0FFFFFFFFh ;0x0075077c : 83c8ff
or ecx , 0FFFFFFFFh ;0x0075077f : 83c9ff
Label750782 ::
push eax ;0x00750782 : 50
push ecx ;0x00750783 : 51
call WindowFromPoint ;0x00750784 : ff156c739100
test eax , eax ;0x0075078a : 85c0
je Label7507b9 ;0x0075078c : 742b
mov edi , eax ;0x0075078e : 8bf8
call Fun42e58e ;0x00750790 : e8f9ddcdff
test eax , eax ;0x00750795 : 85c0
je Label7507b9 ;0x00750797 : 7420
mov al , byte ptr [ Data9388c8 ] ;0x00750799 : a0c8889300
test al , al ;0x0075079e : 84c0
je Label7507b9 ;0x007507a0 : 7417
mov eax , dword ptr [ Data942ab8 ] ;0x007507a2 : a1b82a9400
test eax , eax ;0x007507a7 : 85c0
jne Label7507b3 ;0x007507a9 : 7508
pushd 00h ;0x007507ab : 6a00
call ShowCursor ;0x007507ad : ff1568759100
Label7507b3 ::
inc dword ptr [ Data942ab8 ] ;0x007507b3 : ff05b82a9400
Label7507b9 ::
call Fun5525a2 ;0x007507b9 : e8e41de0ff
mov ecx , dword ptr [ Data93956c ] ;0x007507be : 8b0d6c959300
test ecx , ecx ;0x007507c4 : 85c9
je Label7507e2 ;0x007507c6 : 741a
mov edx , dword ptr [ecx] ;0x007507c8 : 8b11
mov eax , dword ptr [ edx + 68 ] ;0x007507ca : 8b4244
test eax , 0400000h ;0x007507cd : a900004000
jne Label7507e2 ;0x007507d2 : 750e
test al , 01h ;0x007507d4 : a801
je Label7507e2 ;0x007507d6 : 740a
mov edx , 01h ;0x007507d8 : ba01000000
call Fun43335f ;0x007507dd : e87d2bceff
Label7507e2 ::
mov edx , 01h ;0x007507e2 : ba01000000
mov ecx , offset Data9395a0 ;0x007507e7 : b9a0959300
call Fun54ea34 ;0x007507ec : e843e2dfff
xor ecx , ecx ;0x007507f1 : 33c9
mov dword ptr [ Data939580 ] , ecx ;0x007507f3 : 890d80959300
xor eax , eax ;0x007507f9 : 33c0
mov dword ptr [ Data939584 ] , ecx ;0x007507fb : 890d84959300
mov dword ptr [ Data939590 ] , eax ;0x00750801 : a390959300
mov dword ptr [ Data939588 ] , ecx ;0x00750806 : 890d88959300
mov dword ptr [ Data939594 ] , eax ;0x0075080c : a394959300
mov dword ptr [ Data93958c ] , ecx ;0x00750811 : 890d8c959300
mov ecx , dword ptr [ Data93b9e4 ] ;0x00750817 : 8b0de4b99300
test ecx , ecx ;0x0075081d : 85c9
mov dword ptr [ Data939598 ] , eax ;0x0075081f : a398959300
mov dword ptr [ Data93959c ] , eax ;0x00750824 : a39c959300
je Label75086d ;0x00750829 : 7442
mov eax , dword ptr [ecx] ;0x0075082b : 8b01
test byte ptr [ eax + 12 ] , 010h ;0x0075082d : f6400c10
je Label750845 ;0x00750831 : 7412
mov edx , dword ptr [ Data945944 ] ;0x00750833 : 8b1544599400
pushd 01h ;0x00750839 : 6a01
pushd 07h ;0x0075083b : 6a07
call dword ptr [ eax + 0ACh ] ;0x0075083d : ff90ac000000
jmp Label750859 ;0x00750843 : eb14
Label750845 ::
mov ecx , dword ptr [ Data942694 ] ;0x00750845 : 8b0d94269400
test ecx , ecx ;0x0075084b : 85c9
je Label750859 ;0x0075084d : 740a
mov edx , 01h ;0x0075084f : ba01000000
call Fun43335f ;0x00750854 : e8062bceff
Label750859 ::
mov dword ptr [ Data93b9e4 ] , 00h ;0x00750859 : c705e4b9930000000000
mov dword ptr [ Data945944 ] , 0FFFFFFFFh ;0x00750863 : c70544599400ffffffff
Label75086d ::
mov byte ptr [ Data9428dc ] , 01h ;0x0075086d : c605dc28940001
Label750874 ::
lea eax , dword ptr [ esp + 0138h ] ;0x00750874 : 8d842438010000
lea edx , dword ptr [ eax + 1 ] ;0x0075087b : 8d5001
nop ;0x0075087e : 90
Label75087f ::
mov cl , byte ptr [eax] ;0x0075087f : 8a08
inc eax ;0x00750881 : 40
test cl , cl ;0x00750882 : 84c9
jne Label75087f ;0x00750884 : 75f9
mov esi , dword ptr [ esp + 20 ] ;0x00750886 : 8b742414
sub eax , edx ;0x0075088a : 2bc2
mov edi , eax ;0x0075088c : 8bf8
call Fun420d46 ;0x0075088e : e8b304cdff
test eax , eax ;0x00750893 : 85c0
mov eax , esi ;0x00750895 : 8bc6
je Label7508c5 ;0x00750897 : 742c
mov edx , dword ptr [ esp + 24 ] ;0x00750899 : 8b542418
mov dword ptr [edx] , edi ;0x0075089d : 893a
mov edx , dword ptr [ eax + 32 ] ;0x0075089f : 8b5020
mov ecx , edi ;0x007508a2 : 8bcf
mov byte ptr [eax] , 048h ;0x007508a4 : c60048
mov dword ptr [ eax + 4 ] , 00h ;0x007508a7 : c7400400000000
mov edi , dword ptr [edx] ;0x007508ae : 8b3a
mov edx , ecx ;0x007508b0 : 8bd1
shr ecx , 02h ;0x007508b2 : c1e902
lea esi , dword ptr [ esp + 0138h ] ;0x007508b5 : 8db42438010000
rep movsd ;0x007508bc : f3a5
mov ecx , edx ;0x007508be : 8bca
and ecx , 03h ;0x007508c0 : 83e103
rep movsb ;0x007508c3 : f3a4
Label7508c5 ::
mov ecx , dword ptr [ esp + 24 ] ;0x007508c5 : 8b4c2418
mov eax , dword ptr [ eax + 32 ] ;0x007508c9 : 8b4020
mov edx , dword ptr [ecx] ;0x007508cc : 8b11
mov eax , dword ptr [eax] ;0x007508ce : 8b00
push edx ;0x007508d0 : 52
mov edx , eax ;0x007508d1 : 8bd0
call Fun41ba92 ;0x007508d3 : e8bab1ccff
Label7508d8 ::
mov ecx , dword ptr [ esp + 0544h ] ;0x007508d8 : 8b8c2444050000
call Fun42bf1d ;0x007508df : e839b6cdff
pop edi ;0x007508e4 : 5f
pop esi ;0x007508e5 : 5e
pop ebx ;0x007508e6 : 5b
mov esp , ebp ;0x007508e7 : 8be5
pop ebp ;0x007508e9 : 5d
ret ;0x007508ea : 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_vfp9fix28.asp
http://www.baiyujia.com/vfpdocuments/f_vfp9fix356.asp
http://www.baiyujia.com/vfpdocuments/f_vfp9fix100.asp
http://www.baiyujia.com/vfpdocuments/f_vfp9fix102.asp
http://www.baiyujia.com/vfpdocuments/f_vfp9fix103.asp
http://www.baiyujia.com/vfpdocuments/f_vfp9fix287.asp
http://www.baiyujia.com/vfpdocuments/f_vfp9fix354.asp
http://www.baiyujia.com/vfpdocuments/f_vfp9fix355.asp
http://www.baiyujia.com/vfpdocuments/f_vfp9fix386.asp
http://www.baiyujia.com/vfpdocuments/f_vfp9fix387.asp
http://www.baiyujia.com/vfpdocuments/f_vfp9fix388.asp
http://www.baiyujia.com/vfpdocuments/f_vfp9fix389.asp
2, foxite.com:
https://www.foxite.com/archives/problem-running-my-exe-0000312433.htm
https://www.foxite.com/archives/locfile-to-locate-folders-0000160957.htm
3, tek-tips.com:
https://www.tek-tips.com/threads/select-file-and-start-in-specific-directory-vfp-9.1658176/
6. OTHER:
For reference only, there is no guarantees.
Any questions or suggestions, please send me an email at ccb2000@163.com.
|