-------------------------------------------------------------------------------------- [BUG/PRB.] VFP 9.0 FIX - THE BUILD EXE COMMAND USES THE WINDOWS SYSTEM CACHE January 2024 -------------------------------------------------------------------------------------- CCB 1. BUG: In vfp9 (and vfp6, vfp7, vfp8), somtimes the BUILD EXE command runs failed, vfp will cause the error "File is not open (Error 1113)". 2. CAUSE: There are some compatible problems when the BUILD EXE command calls the CreateFileA Windows API for the Windows Defender program or the antivirus programs. Now if the BUILD EXE command calls the CreateFileA Windows API failed, it will call the CreateFileA Windows API 3 times again. There are some BUGs in the following code. 3. RESOLUTION: We can write some code to fix the BUG. Fun6913f7 :: ; proc near pushd 07E8h ;0x006913f7 : 68e8070000 pushd offset Data92b610 ;0x006913fc : 6810b69200 call Fun42c14f ;0x00691401 : e849add9ff mov eax , dword ptr [ Data937090 ] ;0x00691406 : a190709300 mov dword ptr [ ebp - 28 ] , eax ;0x0069140b : 8945e4 mov esi , dword ptr [ ebp + 28 ] ;0x0069140e : 8b751c or dword ptr [ ebp + 0FFFFF87Ch ] , 0FFFFFFFFh ;0x00691411 : 838d7cf8ffffff xor ebx , ebx ;0x00691418 : 33db mov dword ptr [ ebp + 0FFFFF86Ch ] , ebx ;0x0069141a : 899d6cf8ffff mov dword ptr [ ebp + 0FFFFF880h ] , ebx ;0x00691420 : 899d80f8ffff mov dword ptr [ ebp + 0FFFFF878h ] , ebx ;0x00691426 : 899d78f8ffff mov ecx , 0152h ;0x0069142c : b952010000 xor eax , eax ;0x00691431 : 33c0 lea edi , dword ptr [ ebp + 0FFFFF888h ] ;0x00691433 : 8dbd88f8ffff rep stosd ;0x00691439 : f3ab cmp esi , ebx ;0x0069143b : 3bf3 je Label69147e ;0x0069143d : 743f cmp esi , 04h ;0x0069143f : 83fe04 je Label69146b ;0x00691442 : 7427 jle Label691463 ;0x00691444 : 7e1d cmp esi , 06h ;0x00691446 : 83fe06 jle Label69147e ;0x00691449 : 7e33 cmp esi , 07h ;0x0069144b : 83fe07 jne Label691463 ;0x0069144e : 7513 mov byte ptr [ ebp + 0FFFFF887h ] , 074h ;0x00691450 : c68587f8ffff74 mov dword ptr [ ebp + 0FFFFFC90h ] , 074h ;0x00691457 : c78590fcffff74000000 jmp Label69148f ;0x00691461 : eb2c Label691463 :: xor ecx , ecx ;0x00691463 : 33c9 inc ecx ;0x00691465 : 41 call Fun544742 ;0x00691466 : e8d732ebff Label69146b :: mov byte ptr [ ebp + 0FFFFF887h ] , 044h ;0x0069146b : c68587f8ffff44 mov dword ptr [ ebp + 0FFFFFC90h ] , 044h ;0x00691472 : c78590fcffff44000000 jmp Label69148f ;0x0069147c : eb11 Label69147e :: mov byte ptr [ ebp + 0FFFFF887h ] , 045h ;0x0069147e : c68587f8ffff45 mov dword ptr [ ebp + 0FFFFFC90h ] , 045h ;0x00691485 : c78590fcffff45000000 Label69148f :: cmp esi , 07h ;0x0069148f : 83fe07 je Label691499 ;0x00691492 : 7405 cmp esi , 04h ;0x00691494 : 83fe04 jne Label6914af ;0x00691497 : 7516 Label691499 :: mov dword ptr [ ebp - 4 ] , ebx ;0x00691499 : 895dfc call CoFreeUnusedLibraries ;0x0069149c : ff15f47b9100 jmp Label6914ab ;0x006914a2 : eb07 Label6914a4 :: xor eax , eax ;0x006914a4 : 33c0 inc eax ;0x006914a6 : 40 ret ;0x006914a7 : c3 Label6914a8 :: mov esp , dword ptr [ ebp - 24 ] ;0x006914a8 : 8b65e8 Label6914ab :: or dword ptr [ ebp - 4 ] , 0FFFFFFFFh ;0x006914ab : 834dfcff Label6914af :: lea edx , dword ptr [ ebp + 0FFFFF85Ch ] ;0x006914af : 8d955cf8ffff lea eax , dword ptr [ ebp + 0FFFFF808h ] ;0x006914b5 : 8d8508f8ffff call Fun42c27f ;0x006914bb : e8bfadd9ff push dword ptr [ ebp - 4 ] ;0x006914c0 : ff75fc pushd offset Label9163e7 ;0x006914c3 : 68e7639100 pushd 02h ;0x006914c8 : 6a02 push eax ;0x006914ca : 50 call Fun42c2be ;0x006914cb : e8eeadd9ff add esp , 010h ;0x006914d0 : 83c410 mov dword ptr [ ebp - 24 ] , esp ;0x006914d3 : 8965e8 mov dword ptr [ ebp + 0FFFFF864h ] , eax ;0x006914d6 : 898564f8ffff xor ebx , ebx ;0x006914dc : 33db cmp eax , ebx ;0x006914de : 3bc3 jne Label691764 ;0x006914e0 : 0f857e020000 mov esi , dword ptr [ ebp + 32 ] ;0x006914e6 : 8b7520 mov dword ptr [esi] , 01h ;0x006914e9 : c70601000000 push ebx ;0x006914ef : 53 mov edi , dword ptr [ ebp + 12 ] ;0x006914f0 : 8b7d0c push edi ;0x006914f3 : 57 call Fun42c9be ;0x006914f4 : e8c5b4d9ff test eax , eax ;0x006914f9 : 85c0 je Label691517 ;0x006914fb : 741a push ebx ;0x006914fd : 53 push edi ;0x006914fe : 57 call Fun66bc11 ;0x006914ff : e80da7fdff call Fun546c56 ;0x00691504 : e84d57ebff cmp eax , ebx ;0x00691509 : 3bc3 je Label691517 ;0x0069150b : 740a mov dword ptr [esi] , ebx ;0x0069150d : 891e push eax ;0x0069150f : 50 mov ecx , edi ;0x00691510 : 8bcf call Fun44d388 ;0x00691512 : e871bedbff Label691517 :: ; ; --------------------------------------------------------------------------- ; VFP 9.0 FIX - THE BUILD EXE COMMAND USES THE WINDOWS SYSTEM CACHE ; August 2019 ; --------------------------------------------------------------------------- ; CCB ; ; The BUILD EXE command uses the Windows system cache. ; ; 2019/8/3, by ccb ; ; mov dword ptr vfpa_buildexe_isbuildexe,01h pushd 0Ch ;0x00691517 : 6a0c pop edx ;0x00691519 : 5a mov ecx , edi ;0x0069151a : 8bcf call Fun42ce21 ;0x0069151c : e800b9d9ff ; ; --------------------------------------------------------------------------- ; VFP 9.0 FIX - THE BUILD EXE COMMAND USES THE WINDOWS SYSTEM CACHE ; August 2019 ; --------------------------------------------------------------------------- ; CCB ; ; The BUILD EXE command uses the Windows system cache. ; ; 2019/8/3, by ccb ; Label691520 :: ; mov dword ptr vfpa_buildexe_isbuildexe,00h Label691521 :: mov dword ptr [ ebp + 0FFFFF87Ch ] , eax ;0x00691521 : 89857cf8ffff push eax ;0x00691527 : 50 mov al , byte ptr [ ebp + 0FFFFF887h ] ;0x00691528 : 8a8587f8ffff call Fun69124b ;0x0069152e : e818fdffff test eax , eax ;0x00691533 : 85c0 je Label691764 ;0x00691535 : 0f8429020000 mov dword ptr [ ebp + 0FFFFF870h ] , ebx ;0x0069153b : 899d70f8ffff cmp byte ptr [ ebp + 0FFFFF887h ] , 044h ;0x00691541 : 80bd87f8ffff44 je Label691562 ;0x00691548 : 7418 cmp byte ptr [ ebp + 0FFFFF887h ] , 074h ;0x0069154a : 80bd87f8ffff74 je Label691562 ;0x00691551 : 740f push edi ;0x00691553 : 57 push dword ptr [ ebp + 0FFFFF87Ch ] ;0x00691554 : ffb57cf8ffff push dword ptr [ ebp + 20 ] ;0x0069155a : ff7514 call Fun690fdf ;0x0069155d : e87dfaffff Label691562 :: push dword ptr [ ebp + 36 ] ;0x00691562 : ff7524 push dword ptr [ ebp + 20 ] ;0x00691565 : ff7514 lea eax , dword ptr [ ebp + 0FFFFF874h ] ;0x00691568 : 8d8574f8ffff push eax ;0x0069156e : 50 push dword ptr [ ebp + 24 ] ;0x0069156f : ff7518 push edi ;0x00691572 : 57 lea ebx , dword ptr [ ebp + 0FFFFF888h ] ;0x00691573 : 8d9d88f8ffff call Fun66fbcd ;0x00691579 : e84fe6fdff mov dword ptr [ ebp + 0FFFFF880h ] , eax ;0x0069157e : 898580f8ffff xor ebx , ebx ;0x00691584 : 33db cmp eax , ebx ;0x00691586 : 3bc3 je Label6915dd ;0x00691588 : 7453 mov ecx , 0CA0Ch ;0x0069158a : b90cca0000 call Fun42c583 ;0x0069158f : e8efafd9ff mov ecx , eax ;0x00691594 : 8bc8 call Fun91589d ;0x00691596 : e802432800 lea eax , dword ptr [ ebp + 0FFFFF888h ] ;0x0069159b : 8d8588f8ffff push eax ;0x006915a1 : 50 push dword ptr [ ebp + 20 ] ;0x006915a2 : ff7514 call Fun83261e ;0x006915a5 : e874101a00 lea eax , dword ptr [ ebp + 0FFFFF870h ] ;0x006915aa : 8d8570f8ffff push eax ;0x006915b0 : 50 lea eax , dword ptr [ ebp + 0FFFFF878h ] ;0x006915b1 : 8d8578f8ffff push eax ;0x006915b7 : 50 push dword ptr [ ebp + 0FFFFF874h ] ;0x006915b8 : ffb574f8ffff lea eax , dword ptr [ ebp + 0FFFFF87Ch ] ;0x006915be : 8d857cf8ffff push eax ;0x006915c4 : 50 push dword ptr [ ebp + 20 ] ;0x006915c5 : ff7514 push dword ptr [ ebp + 24 ] ;0x006915c8 : ff7518 lea eax , dword ptr [ ebp + 0FFFFF888h ] ;0x006915cb : 8d8588f8ffff push eax ;0x006915d1 : 50 push dword ptr [ ebp + 0FFFFF880h ] ;0x006915d2 : ffb580f8ffff call Fun66ebe0 ;0x006915d8 : e803d6fdff Label6915dd :: cmp byte ptr [ ebp + 0FFFFF887h ] , 045h ;0x006915dd : 80bd87f8ffff45 je Label6915f3 ;0x006915e4 : 740d cmp byte ptr [ ebp + 0FFFFF887h ] , 043h ;0x006915e6 : 80bd87f8ffff43 jne Label69168d ;0x006915ed : 0f859a000000 Label6915f3 :: push dword ptr [ ebp + 8 ] ;0x006915f3 : ff7508 lea eax , dword ptr [ ebp + 0FFFFF860h ] ;0x006915f6 : 8d8560f8ffff push eax ;0x006915fc : 50 call Fun434bcf ;0x006915fd : e8cd35daff xor edi , edi ;0x00691602 : 33ff xor eax , eax ;0x00691604 : 33c0 inc eax ;0x00691606 : 40 lea edx , dword ptr [ ebp + 0FFFFFDD0h ] ;0x00691607 : 8d95d0fdffff mov ecx , dword ptr [ ebp + 12 ] ;0x0069160d : 8b4d0c call Fun43f2b9 ;0x00691610 : e8a4dcdaff lea eax , dword ptr [ ebp + 0FFFFFDD0h ] ;0x00691615 : 8d85d0fdffff push eax ;0x0069161b : 50 lea eax , dword ptr [ ebp + 0FFFFF860h ] ;0x0069161c : 8d8560f8ffff push eax ;0x00691622 : 50 lea eax , dword ptr [ ebp + 0FFFFFED8h ] ;0x00691623 : 8d85d8feffff push eax ;0x00691629 : 50 call Fun42c5c5 ;0x0069162a : e896afd9ff pushd offset Data9200d4 ;0x0069162f : 68d4009200 lea eax , dword ptr [ ebp + 0FFFFFED8h ] ;0x00691634 : 8d85d8feffff push eax ;0x0069163a : 50 push eax ;0x0069163b : 50 call Fun42d3ac ;0x0069163c : e86bbdd9ff lea edi , dword ptr [ ebp + 0FFFFFED8h ] ;0x00691641 : 8dbdd8feffff dec edi ;0x00691647 : 4f Label691648 :: mov al , byte ptr [ edi + 1 ] ;0x00691648 : 8a4701 inc edi ;0x0069164b : 47 cmp al , bl ;0x0069164c : 3ac3 jne Label691648 ;0x0069164e : 75f8 mov esi , offset Data92781c ;0x00691650 : be1c789200 movsd ;0x00691655 : a5 movsd ;0x00691656 : a5 movsw ;0x00691657 : 66a5 push ebx ;0x00691659 : 53 lea eax , dword ptr [ ebp + 0FFFFFED8h ] ;0x0069165a : 8d85d8feffff push eax ;0x00691660 : 50 call Fun42c9be ;0x00691661 : e858b3d9ff test eax , eax ;0x00691666 : 85c0 je Label69168d ;0x00691668 : 7423 lea eax , dword ptr [ ebp + 0FFFFF870h ] ;0x0069166a : 8d8570f8ffff push eax ;0x00691670 : 50 push dword ptr [ ebp + 0FFFFF878h ] ;0x00691671 : ffb578f8ffff lea eax , dword ptr [ ebp + 0FFFFF87Ch ] ;0x00691677 : 8d857cf8ffff push eax ;0x0069167d : 50 lea eax , dword ptr [ ebp + 0FFFFFED8h ] ;0x0069167e : 8d85d8feffff push eax ;0x00691684 : 50 push dword ptr [ ebp + 20 ] ;0x00691685 : ff7514 call Fun66ea6a ;0x00691688 : e8ddd3fdff Label69168d :: cmp byte ptr [ ebp + 0FFFFF887h ] , 044h ;0x0069168d : 80bd87f8ffff44 je Label69169f ;0x00691694 : 7409 cmp byte ptr [ ebp + 0FFFFF887h ] , 074h ;0x00691696 : 80bd87f8ffff74 jne Label6916b1 ;0x0069169d : 7512 Label69169f :: cmp dword ptr [ ebp + 0FFFFF878h ] , ebx ;0x0069169f : 399d78f8ffff jne Label6916b1 ;0x006916a5 : 750a mov ecx , 03EAh ;0x006916a7 : b9ea030000 call Fun544742 ;0x006916ac : e89130ebff Label6916b1 :: cmp dword ptr [ ebp + 0FFFFF870h ] , ebx ;0x006916b1 : 399d70f8ffff jne Label6916ee ;0x006916b7 : 7535 mov ecx , dword ptr [ ebp + 0FFFFF87Ch ] ;0x006916b9 : 8b8d7cf8ffff call Fun42ddf2 ;0x006916bf : e82ec7d9ff push dword ptr [ ebp + 0FFFFF878h ] ;0x006916c4 : ffb578f8ffff push dword ptr [ ebp + 12 ] ;0x006916ca : ff750c push dword ptr [ ebp + 20 ] ;0x006916cd : ff7514 call Fun6910c5 ;0x006916d0 : e8f0f9ffff pushd 04h ;0x006916d5 : 6a04 pop edx ;0x006916d7 : 5a mov ecx , dword ptr [ ebp + 12 ] ;0x006916d8 : 8b4d0c call Fun42ce21 ;0x006916db : e841b7d9ff mov dword ptr [ ebp + 0FFFFF87Ch ] , eax ;0x006916e0 : 89857cf8ffff pushd 02h ;0x006916e6 : 6a02 push ebx ;0x006916e8 : 53 call Fun431d13 ;0x006916e9 : e82506daff Label6916ee :: pushd 041h ;0x006916ee : 6a41 mov ebx , dword ptr [ ebp + 16 ] ;0x006916f0 : 8b5d10 mov edi , ebx ;0x006916f3 : 8bfb call Fun433ef7 ;0x006916f5 : e8fd27daff push eax ;0x006916fa : 50 xor edx , edx ;0x006916fb : 33d2 mov ecx , dword ptr [ ebp + 0FFFFF87Ch ] ;0x006916fd : 8b8d7cf8ffff call Fun891e97 ;0x00691703 : e88f072000 mov dword ptr [ ebp + 0FFFFF86Ch ] , 01h ;0x00691708 : c7856cf8ffff01000000 cmp dword ptr [ ebp + 0FFFFF880h ] , 00h ;0x00691712 : 83bd80f8ffff00 je Label69175c ;0x00691719 : 7441 push dword ptr [ ebp + 0FFFFF878h ] ;0x0069171b : ffb578f8ffff push dword ptr [ ebp + 0FFFFF874h ] ;0x00691721 : ffb574f8ffff push dword ptr [ ebp + 12 ] ;0x00691727 : ff750c lea eax , dword ptr [ ebp + 0FFFFF888h ] ;0x0069172a : 8d8588f8ffff push eax ;0x00691730 : 50 push dword ptr [ ebp + 0FFFFF880h ] ;0x00691731 : ffb580f8ffff push dword ptr [ ebp + 20 ] ;0x00691737 : ff7514 call Fun66c0db ;0x0069173a : e89ca9fdff push dword ptr [ ebp + 0FFFFF874h ] ;0x0069173f : ffb574f8ffff push dword ptr [ ebp + 0FFFFF880h ] ;0x00691745 : ffb580f8ffff lea eax , dword ptr [ ebp + 0FFFFF888h ] ;0x0069174b : 8d8588f8ffff push eax ;0x00691751 : 50 push dword ptr [ ebp + 20 ] ;0x00691752 : ff7514 call Fun66f550 ;0x00691755 : e8f6ddfdff jmp Label691764 ;0x0069175a : eb08 Label69175c :: push dword ptr [ ebp + 20 ] ;0x0069175c : ff7514 call Fun6912bd ;0x0069175f : e859fbffff Label691764 :: lea eax , dword ptr [ ebp + 0FFFFF85Ch ] ;0x00691764 : 8d855cf8ffff push eax ;0x0069176a : 50 lea eax , dword ptr [ ebp + 0FFFFF808h ] ;0x0069176b : 8d8508f8ffff call Fun42d200 ;0x00691771 : e88abad9ff mov ecx , dword ptr [ ebp + 0FFFFF87Ch ] ;0x00691776 : 8b8d7cf8ffff xor ebx , ebx ;0x0069177c : 33db cmp ecx , ebx ;0x0069177e : 3bcb jl Label691787 ;0x00691780 : 7c05 call Fun42ddf2 ;0x00691782 : e86bc6d9ff Label691787 :: cmp dword ptr [ ebp + 0FFFFF880h ] , ebx ;0x00691787 : 399d80f8ffff je Label6917f9 ;0x0069178d : 746a mov eax , dword ptr [ ebp + 0FFFFF874h ] ;0x0069178f : 8b8574f8ffff cmp eax , ebx ;0x00691795 : 3bc3 jbe Label6917ee ;0x00691797 : 7655 mov dword ptr [ ebp + 0FFFFF868h ] , eax ;0x00691799 : 898568f8ffff Label69179f :: mov eax , dword ptr [ ebp + 0FFFFF880h ] ;0x0069179f : 8b8580f8ffff mov esi , dword ptr [eax] ;0x006917a5 : 8b30 add esi , ebx ;0x006917a7 : 03f3 xor edi , edi ;0x006917a9 : 33ff cmp dword ptr [ esi + 0540h ] , edi ;0x006917ab : 39be40050000 je Label6917e0 ;0x006917b1 : 742d cmp dword ptr [ esi + 053Ch ] , edi ;0x006917b3 : 39be3c050000 jbe Label6917d5 ;0x006917b9 : 761a Label6917bb :: mov eax , dword ptr [ esi + 0540h ] ;0x006917bb : 8b8640050000 mov eax , dword ptr [eax] ;0x006917c1 : 8b00 mov eax , dword ptr [ eax + 4 * edi ] ;0x006917c3 : 8b04b8 mov ecx , dword ptr [eax] ;0x006917c6 : 8b08 push eax ;0x006917c8 : 50 call dword ptr [ ecx + 8 ] ;0x006917c9 : ff5108 inc edi ;0x006917cc : 47 cmp edi , dword ptr [ esi + 053Ch ] ;0x006917cd : 3bbe3c050000 jb Label6917bb ;0x006917d3 : 72e6 Label6917d5 :: mov ecx , dword ptr [ esi + 0540h ] ;0x006917d5 : 8b8e40050000 call Fun42c1e2 ;0x006917db : e802aad9ff Label6917e0 :: add ebx , 0544h ;0x006917e0 : 81c344050000 dec dword ptr [ ebp + 0FFFFF868h ] ;0x006917e6 : ff8d68f8ffff jne Label69179f ;0x006917ec : 75b1 Label6917ee :: mov ecx , dword ptr [ ebp + 0FFFFF880h ] ;0x006917ee : 8b8d80f8ffff call Fun42c1e2 ;0x006917f4 : e8e9a9d9ff Label6917f9 :: mov ecx , dword ptr [ ebp + 0FFFFF864h ] ;0x006917f9 : 8b8d64f8ffff test ecx , ecx ;0x006917ff : 85c9 je Label691808 ;0x00691801 : 7405 call Fun544742 ;0x00691803 : e83a2febff Label691808 :: cmp dword ptr [ ebp + 0FFFFF878h ] , 00h ;0x00691808 : 83bd78f8ffff00 je Label69181b ;0x0069180f : 740a pushd 01h ;0x00691811 : 6a01 push dword ptr [ ebp + 12 ] ;0x00691813 : ff750c call Fun66bc11 ;0x00691816 : e8f6a3fdff Label69181b :: mov eax , dword ptr [ ebp + 0FFFFF86Ch ] ;0x0069181b : 8b856cf8ffff mov ecx , dword ptr [ ebp - 28 ] ;0x00691821 : 8b4de4 call Fun42bf1d ;0x00691824 : e8f4a6d9ff call Fun42c18a ;0x00691829 : e85ca9d9ff ret 020h ;0x0069182e : c22000 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_vfp9fix84.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix65.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix66.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix67.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix68.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix69.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix70.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix71.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix72.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix73.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix74.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix107.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix108.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix109.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix110.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix143.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix144.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix145.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix146.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix147.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix148.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix149.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix150.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix203.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix261.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix262.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix269.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix270.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix278.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix279.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix348.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix349.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix350.asp http://www.baiyujia.com/vfpdocuments/f_vfp9fix351.asp 2, microsoft.com: https://devblogs.microsoft.com/oldnewthing/20120907-00/?p=6663 https://social.msdn.microsoft.com/Forums/en-US/294ae205-ea0b-4dc1-b74b-5d9c92b5bed3/quotfile-is-not-openquot-error-when-building-exe-visual-foxpro-90-sp2 3, foxite.com: https://www.foxite.com/archives/file-is-not-open-compiling-app-to-exe-0000247760.htm 4, tek-tips.com: https://www.tek-tips.com/viewthread.cfm?qid=1768994 5, csdn.net: https://bbs.csdn.net/topics/380166636 6. OTHER: For reference only, there is no guarantees. Any questions or suggestions, please send me an email at ccb2000@163.com. |