PRB: ????? ?? EOF ??? ??????? #import ???????? ADO

?????? ????????? ?????? ?????????
???? ???????: 166112 - ??? ???????? ???? ????? ????? ??? ???????.
??? ????? ??? ???????. ????? "??? ??" ??? ??? ??????? ??? ????.
????? ???? | ?? ????

?? ??? ??????

???????

?? #import, ?? ?????? ????? ?????? ???? ???? ????? ????? ???????? API ??????, ??? "?????? ?????? ActiveX (ADO)" ? ??? ????? ??????. ??? ???? ??????:
   // Excerpt from Stdafx.h
   #include <afxwin.h>           // MFC core and standard components.
   ...
   #import <msado15.dll>        //for ADO 1.0, import "msado10.dll"
 
				
??? ?????? ????? ?? ???? ??????? ??????? ?? #import ?? ADO ??? ??????? Recordset.EOF:
??? C2629: ??? ????? ' ????? ('
??? C2238: ?????? token(s) ??? ????? ';'
???? Solver ????? ??????? DLL (DUPS.exe) ?? ????? ????? ??? ???? ??????? ???????? ????? ?? 2000 ????? ????? ????? ???? ????? Microsoft (MSDN) "?? ????? Hell DLL." ?????? ?????? ??? MSDN ??????? ??? ????? ??? ???????.

???? DUPS ?? ?????? ?? ??????? ???????? ???? ????? ??????? ???? ??????? ????????? DLL ??? ??? ????? ??????? ????? ??? Windows. ??? ?????? ???? ?????? ?? ??? ????? SQL Server ?? Microsoft Access. ?????? Dlister ????? DLLs ??? ???? ????? Windows 95 ?? Windows 98 ? Windows NT 4.0 ? Windows 2000. ????? ?????? ??? ?? ??????? ??? Windows NT 4.0 ? Windows 2000 ? ????? Microsoft Access ?? Microsoft SQL Server. ?? ??????? ?? Microsoft Access 97 ?????????? ?????? ? SQL Server 6.5 ? ????????? ??????.

?????

??? ????? ?????? Stdio.h ?? Ios.h ?? Streamb.h (??? ?? ??? Afxwin.h) ? ?? ?????? ????? EOF ????? (-1). #import ?? ????? ????? ??????? EOF Recordset ????? ADO ?? RDO ????? ???????? Resultset ?? ???? ?????? ????? C2629/C2238 ??? ????? ?????? ?? ????????? ???????? ??????? ?? msado15.tlh (?? msado10.tlh) ??? ?? ??????? ADO 1.0 ?????:
VARIANT_BOOL EOF;
				
????? ??? ????? ?? ????? ????? ???? EOF ????? ?????? ???? ??-1. ????? ????? ???? ??? ????? ?? ???????? ???????? ???:
short -1;
				
??? ?????? ?? ???? ???- 1 ????? ??? ????? ????.

????

?????? ???? ???? ??????? ????? ????? ????? #import ??? ???:
   #import <msado15.dll>
    rename( "EOF", "A_EOF" )
				
????? ????? ????? ??? ?? ????? "EOF" ???? ?? #import ?? ????? ?????? ??? ???? ?????.

?? ????? ??? undefine EOF ??? ??????? ADO ????:
#undef EOF
#import <msado15.dll> rename_namespace("ADO20")
				

?????

????? ??? ?????? ??? ???????.

??????? ????

????? ????? ?????? ??????? ?? "???? ??????? ?? Microsoft":

DUPS.exe
????? ???????: ????? - 14-2000

?????? ??? ??????? ?????? ??? ????? ????? ????? ??? Microsoft "? ???? ??? ??? ??????? ?????? ?????? ??" ????? ??????? ?? Microsoft:
119591????? ?????? ??? ????? ??? Microsoft ?? ??????? ??? ????????
???? Microsoft ???? ??? ????? ????? ?? ?????????. ??????? Microsoft ???? ?? ?????? ??? ??????? ??????? ??? ??????? ???? ?? ??? ?????. ??? ????? ????? ??? ?????? ????? ?????? ???? ????? ??? ??? ????? ??? ??????? ??? ???? ??? ??? ?????. ????? ??? ??????? ???? ??????? ???? ????? ???? ????. ???? ????????? ????? ??? ????? ?? ????????? ??????????. (?????? hotlink ??????? ?? ?????? ?????? ???????.)
???? Microsoft ??????? ???????? ??? ??? ?? ???? ??????? ?? ?? ????? ? ? ?? ????? ??? ?????? ???????? ??????? ?/?? ???????? ???? ????. ????? ??? ??????? ??? ????? ??? ??? ??????? ???? ?? ????? ???????? ????????? ?????? ????????? ????????. ???? ?? ????? ??????? ????? Microsoft ??? ????? ????? ???? ???? ?? ?????? ?????? ??? ??????? ?????? ????? ?????? ?? ????? ??????? ?????? ????????? ???????.
??? ??? ??? ?? ???? ???? ???? ?????? ?? ???? ???????? ?? ????? ??? ??????? ????? Microsoft ?? ????? ???????. ????? ?? ?????????? ?? ?????? ????? ??? Microsoft ???:

Microsoft ????????? Partners ? https://partner.microsoft.com/global/30000104

????? Microsoft ??????? ???? ???? ??????? - http://support.microsoft.com/gp/advisoryservice

?????? ??? ???? ?? ????????? ??? ?????? ????? ???????? ???? ????? ??????? ????? Microsoft ?? ?????? ???? Microsoft ?????? ??? ?????: http://support.microsoft.com/default.aspx?scid=fh;EN-US;CNTACTMS???? ???????? ??? ???? ??????? ???? ???? DUPS ?? ????????? ????? ??????? DLL ?? DLL ??? ???? ???????. ??? ??????? ??? Windows 95 ??? Windows 2000 ? ?? ??? ???? ????? ?? ????? ??? ?? ??????. ???? DUPS ????? ?? ??????? ???????? C++ ????? ??? ????? ??? Visual Basic.

??? ???? ?????? ?????? ???????? ?????? (DLL) ??? ????? ?????? ??? ????? ??????? (????????? ? ??????????) ? ?? ?????? ?????? Dlister.exe. ???? ??????? Dlister ?????? ??? ?? ?????? C:\ ???? Comp_DLL.txt ??? ???? Comp ?? ??? ????????? ???? ????? Dlister. ????? ????? ????? ??? Dlister ??????? ??? ????? ?????? ?? ????? ????? ???? ??? ??? ????? ????? ???.

???? ??????? ?????? Dlisters ????? ??????????. Dlister ? ????? Visual Basic ?????? ??? ????? ??????? ???:
Samples\r1dllHell HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\KB
?? ????? ???????:
?????_??????? ? fileTableDir
????? ??????? ?????? Visual Basic DllHell\C_clients\ATL4VB\VbregSetup ????? ??? ????? ?? ????? ?????? ????? Dlister ????? ?????? ????? ??????????. ??? ???? ??????? ????? ConnectString ???:
Provider=SQLOLEDB.1;Initial Catalog=dllHell;Data Source=dsc3_ts;
					
???? Dlister ??????? ????? ??? SQL Server ????? dllHell ?????:
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\dllHell.mdb
					
?????? ????? ?????? Microsoft Access ????.

??????? ??????? ????? ????? ?????????? ?????? ????? ?????? ?? ??? DllHell.ini ?? ?????? Dlister.exe. ??? ??????? unzipped ??? ?????? DllHell\C_clients\Dlister\Release\.

??? ????? ??? ???? xdllHell.ini ?? ??????? ?? ????? ????? ???? ????? ??????. (????? dllHell.ini ??? ??? ??? ???? ?? ????????.)

??? ??? ????????? A ?????????? B ??? ????? ????? ?????? ?????? ActiveX (ADO) ??????? ???? ???? ????? ???????? dllHell ?????? ????? ????? ????? ?????? SQL Server ?? Jet. ???? ????? ????? ????? Dlister ?? ??? ??? ???? ?? ??????? ?????? ???????? C++ DllHell\C_clients\Dlister\readtxttbl\Release\DlgDtxt2DB.exe ?????? ??? ???? ??????? ??? ????? ???????? DllHell. ??????? MFC ReadTxtTbl ???? ????? ??????? ?? ???? ???? ???????? ????? ?????? ?????????? ??. ??? ????? ???????? COM DUPS\C_clients\ATL4VB\r1RegMon\ReleaseMinDependency\r1RegMon.dll ????????? DUPS\C_clients\ATL4VB\readDlls\R1readTxtMod\ReleaseMinDependency\R1readTxtMod.dll ????? Visual Basic.

????? ????? ?????????? ??????? CRC ?????? ????? ??????? ComputeCRC Samples\r1dllHell HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\KB ??? 0x1 ??? ????? ????? Windows 2000. ????? ???????? ??? ??? ??????? ????? ????? ??? ???????. ??? ???????? ??????? Windows NT 4 ?????? ??? ??? ???????.

????? ????? DllHell

?????? SQL Server 7.0 ???? ???? ????? Microsoft Access 2000. ?????? ????? ?????? DLLhell ????? ??????? ????? ??????? SQL Server ?????? ????? ?????? ????? ???? DLLhell. ?? ???? ??????? SQL Server ??????? ??? DLLhell ?? ????? ????? ?????? - ????? ???? ???????. ????? ???????? ????? DllHell\SQL\dllHellSchema.sql ?? ??? ?????? ????? ?????? ???? ??????? ???????? Dllhell.

???? ????? ????? ????? ????? ?????? ?? ???? ??????? SQL Server:
EXEC sp_attach_single_file_db 'DLLhell', 'DllHell\SQL\dllHell_Data.MDF'
				
?????? ????? ????? ???????? "?" ???? ???????.

?????? DLLs ??? ????? ??????

??????? ?????? DLLs ??? ???????? cmpWithList ?????? ???????? Visual Basic ?? ?????? Dllhell\VBviewers\VBcmpList2.

?????? ????????? DLL (????? ??? ??? ??? DLLs ????? ????? ???) ??? ?? ???? ???? ????? ??? ??? (.txt) ????? ??? DLLs ???? ???? ????????. ????? ????? ??? ??????? ?? Depends ?? ??? ????? ?????? (??? ListDLLs ??????? ??????) ?? ???? ??? ??????:
http://technet.microsoft.com/en-us/sysinternals/default.aspx

???????? cmpWithList

??? ??? ????? cmpWithList ???? ????? ?????? ????????? ???????? ?? ????? ???????? DLLhell ?? ???? ??????? "????? ?????????. ???? ???????? ??? ????? ????? ????????? ??????? ?? ??????? ??????. ?????? ????????? ????? ??? ?? ???? ??????? ???? ???? ?????. Comp1 ? Comp2 ????? ?????? ??? ????? ????????? ???? ???? ??????.

?????? ???? ???? ?????? ??? ?????? ?????? ????? ????? ???? ??? ????? ??? ????? ???? DLLs ???? ???? ?? ?????? ??? ????????. ????? ?????? ??????? ??? ????? ????? ????.

??? ?? ??? ???? ?????? DLLs ?? ??? ??????? (????? ????? ?? ???? ??? DLLs ?? winnt\system32\dllcache ? WINNT\ $ $ NtServicePackUninstall) ???? ????? ??????? ??? ???? ?? ??????. ???? ??????? ????? ?????? ??? ???? _skipDir. ?? ????? DLLs ?? _skipDir ????????.

????? ???? ????????? DLL ?????

????? ?? ?????? ??? ????? Windows 2000:

??? ????? ?? ??? ??????? dllHell\rcomp.cmd. ????? ??????? ?????? ??????? ???? ??????:
  1. Dpath: ?????? ??? ?????? ??? Dlister ?????? ????? ??? ???? dlls ??? ??????. ????????? ?? C:\temp\DLLhell\
  2. COMP: ??? ????????? ??????.
  3. ChangeFileLocation: ??? ??? ?????? ?????? ???? ??????? ??? ?????????? DLL ?????. ??? ?? ?????? ???? HellsMonitor ???? ?????.
  4. ServerLst: ?????? ?????? ??? ???? ???? C_clients ???? DLLhell.
??? ???? ??????? ???? ??? ???? ???? ? ???? ??? ??????? ? ???? ??? ??????? ??????? ? ??? ??? ????? ?????? ?? ???? ??? ?????? ????????.

????? ?????? "????? ???? ??????". ?????? ?????? ??? ?????? ?????? ???? ????? ??? ????? rcomp.cmd ??? ????????. ??? ????? ?????? ???? ???????, ??? ????? ????? rcomp.cmd ??? ?????? ????????. ??? ?? ????? ?????? ???? ???? ?????? ???? ?????? ??? ????? 2-5 ????? ?? ???????? ???? ????? ?????? ????????? ?????? ??. ?????? ?? ??????? uncomment ????? pause ???? ????? ?????? ??? ????? ????.

????? ??? ?????? ??????

?? Dllhell\C_clients\HellsMonitor\ReleaseUMinDependency ?????? ????? ??? ????? ???? ???? ??????:
HellsMonitor /Service
				
??? ?????? ????? ?? ???? ???? ?????. ??? ?? GUI ???? ????? ?? ????? ??????? ???? ???????. ??? ???? ?? ?????? ??????? ??????? (?? ?? ??????? ??? ?????????). ??????? DUPS ?????? ??????, ?? ??????? Dllhell\C_clients\Dlister\ReadTxtTblCmdLine\Debug\ReadTxtTblCmdLine.exe.

?????? ???? ??????? ???? ??? "?????". ??? ???? ???? ???? ??????? ???? ??? ????? ????????? ??? ?????? ???? ???? ????????. ?????? ???? ?? ??????? ??? ??????? ???? ???? ?????? ?? ???? ??? ?????. ?????? ??????? ??????? ??? ????? ??? ?? ?????? ????. ??? ?? ???? ?????? ???? ?? ?? ???? ?????? ???? ??. ??? ???? ???? ??? ????? ?????? ???? ????? ?????? ??? ??????? ??? ????? ?? ?????.

??????: ??? ????? ???? ?????? ??? ??? ????? ??????? ???? ??????? ?? ?? ?????? ??????. ??? ????? ???? ????? ??? ????? ???? ??????? ??? ????? ???????.

?????

????? ?? ?????????? ???? ?? ???:
"The End of DLL Hell"

???????

???? ???????: 166112 - ????? ??? ??????: 23/???? ??????/1435 - ??????: 4.6
????? ???
  • Microsoft ActiveX Data Objects 1.0, ????? ?????? ??:
    • Microsoft Visual C++ 4.2 Professional Edition
    • Microsoft Visual C++ 5.0 Standard Edition
    • Microsoft Visual C++ 6.0 Service Pack 5
    • Microsoft Visual C++ 4.2 Enterprise Edition
    • Microsoft Visual C++ 5.0 Enterprise Edition
    • Microsoft Visual C++ 6.0 Enterprise Edition
    • Microsoft Visual C++ 4.2 Professional Edition
    • Microsoft Visual C++ 5.0 Professional Edition
    • Microsoft Visual C++ 6.0 Professional Edition
    • Microsoft Visual C++, 32-bit Learning Edition 6.0
  • Microsoft ActiveX Data Objects 2.0, ????? ?????? ??:
    • Microsoft Visual C++ 4.2 Professional Edition
    • Microsoft Visual C++ 5.0 Standard Edition
    • Microsoft Visual C++ 6.0 Service Pack 5
    • Microsoft Visual C++ 4.2 Enterprise Edition
    • Microsoft Visual C++ 5.0 Enterprise Edition
    • Microsoft Visual C++ 6.0 Enterprise Edition
    • Microsoft Visual C++ 4.2 Professional Edition
    • Microsoft Visual C++ 5.0 Professional Edition
    • Microsoft Visual C++ 6.0 Professional Edition
    • Microsoft Visual C++, 32-bit Learning Edition 6.0
  • Microsoft ActiveX Data Objects 2.1, ????? ?????? ??:
    • Microsoft Visual C++ 4.2 Professional Edition
    • Microsoft Visual C++ 5.0 Standard Edition
    • Microsoft Visual C++ 6.0 Service Pack 5
    • Microsoft Visual C++ 4.2 Enterprise Edition
    • Microsoft Visual C++ 5.0 Enterprise Edition
    • Microsoft Visual C++ 6.0 Enterprise Edition
    • Microsoft Visual C++ 4.2 Professional Edition
    • Microsoft Visual C++ 5.0 Professional Edition
    • Microsoft Visual C++ 6.0 Professional Edition
    • Microsoft Visual C++, 32-bit Learning Edition 6.0
  • Microsoft ActiveX Data Objects 2.5, ????? ?????? ??:
    • Microsoft Visual C++ 4.2 Professional Edition
    • Microsoft Visual C++ 5.0 Standard Edition
    • Microsoft Visual C++ 6.0 Service Pack 5
    • Microsoft Visual C++ 4.2 Enterprise Edition
    • Microsoft Visual C++ 5.0 Enterprise Edition
    • Microsoft Visual C++ 6.0 Enterprise Edition
    • Microsoft Visual C++ 4.2 Professional Edition
    • Microsoft Visual C++ 5.0 Professional Edition
    • Microsoft Visual C++ 6.0 Professional Edition
    • Microsoft Visual C++, 32-bit Learning Edition 6.0
  • Microsoft ActiveX Data Objects 2.6, ????? ?????? ??:
    • Microsoft Visual C++ 4.2 Professional Edition
    • Microsoft Visual C++ 5.0 Standard Edition
    • Microsoft Visual C++ 6.0 Service Pack 5
    • Microsoft Visual C++ 4.2 Enterprise Edition
    • Microsoft Visual C++ 5.0 Enterprise Edition
    • Microsoft Visual C++ 6.0 Enterprise Edition
    • Microsoft Visual C++ 4.2 Professional Edition
    • Microsoft Visual C++ 5.0 Professional Edition
    • Microsoft Visual C++ 6.0 Professional Edition
    • Microsoft Visual C++, 32-bit Learning Edition 6.0
  • Microsoft Data Access Components 2.1 Service Pack 2
????? ??????: 
kbnosurvey kbarchive kbmt kbdownload kbdatabase kbprb kbprogramming KB166112 KbMtar
????? ????
???: ??? ????? ??? ?????? ???????? ?????? ????? ???? ????? ?????????? ????? ?? ????????? ?????? ????. ???? ???? ?????????? ???? ?? ???????? ???????? ?????? ????????? ????? ????????? ???????? ????? ???????? ?????? ?? ?????? ??? ?? ???????? ???????? ?? ????? ??????? ?????? ??? ??????? ?????? ??. ?????? ?? ???? ??? ??????? ???????? ????? ?? ???? ????? ?????? ??? ????? ??? ????? ??????? ?? ????? ?? ?????? ??? ??? ??????? ??????? ?? ????? ????? ????? ????? ?????. ?? ????? ???? ?????????? ??????? ??? ????? ?? ??????? ?? ????? ?????? ?? ??? ????? ?? ????? ??????? ?? ???????? ?? ??? ???????. ???? ???? ?????????? ???????? ??? ????? ?????? ??????? ??????
???? ??? ????? ??????? ?????? ??????????166112

????? ???????

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com