Introduction - If you have any usage issues, please Google them yourself
COM and application of the principle of one book complete the attached example source code package.
Packet : 93317424com_pa.rar filelist
Src\ch2\DictComp\StdAfx.cpp
Src\ch2\DictComp\ReadMe.txt
Src\ch2\DictComp\StdAfx.h
Src\ch2\DictComp\IMyUnknown.h
Src\ch2\DictComp\ISpellCheck.h
Src\ch2\DictComp\IDictionary.h
Src\ch2\DictComp\DictComp.h
Src\ch2\DictComp\DictComp.def
Src\ch2\DictComp\DictComp.dsp
Src\ch2\DictComp\DictComp.dsw
Src\ch2\DictComp\animal.dict
Src\ch2\DictComp\DictComp.cpp
Src\ch2\DictComp
Src\ch2\DictCtrl\StdAfx.h
Src\ch2\DictCtrl\StdAfx.cpp
Src\ch2\DictCtrl\ReadMe.txt
Src\ch2\DictCtrl\DictCtrl.dsw
Src\ch2\DictCtrl\IMyUnknown.h
Src\ch2\DictCtrl\IDictionary.h
Src\ch2\DictCtrl\ISpellCheck.h
Src\ch2\DictCtrl\DictCtrl.dsp
Src\ch2\DictCtrl\DictCtrl.cpp
Src\ch2\DictCtrl
Src\ch2\Release
Src\ch2
Src\ch3\DictComp\StdAfx.cpp
Src\ch3\DictComp\ReadMe.txt
Src\ch3\DictComp\StdAfx.h
Src\ch3\DictComp\DictComp.dsw
Src\ch3\DictComp\DictComp.h
Src\ch3\DictComp\DictComp.def
Src\ch3\DictComp\IDictionary.h
Src\ch3\DictComp\ISpellCheck.h
Src\ch3\DictComp\Registry.h
Src\ch3\DictComp\Factory.h
Src\ch3\DictComp\Factory.cpp
Src\ch3\DictComp\DictComp.cpp
Src\ch3\DictComp\DictComp.dsp
Src\ch3\DictComp\Registry.cpp
Src\ch3\DictComp\Release
Src\ch3\DictComp
Src\ch3\DictCtrl\StdAfx.h
Src\ch3\DictCtrl\StdAfx.cpp
Src\ch3\DictCtrl\ReadMe.txt
Src\ch3\DictCtrl\DictCtrl.dsw
Src\ch3\DictCtrl\IMyUnknown.h
Src\ch3\DictCtrl\IDictionary.h
Src\ch3\DictCtrl\ISpellCheck.h
Src\ch3\DictCtrl\DictCtrl.dsp
Src\ch3\DictCtrl\DictCtrl.cpp
Src\ch3\DictCtrl
Src\ch3\Release
Src\ch3
Src\ch4\OutofProc\DictCtrl\StdAfx.h
Src\ch4\OutofProc\DictCtrl\StdAfx.cpp
Src\ch4\OutofProc\DictCtrl\ReadMe.txt
Src\ch4\OutofProc\DictCtrl\DictCtrl.dsw
Src\ch4\OutofProc\DictCtrl\IMyUnknown.h
Src\ch4\OutofProc\DictCtrl\IDictionary.h
Src\ch4\OutofProc\DictCtrl\ISpellCheck.h
Src\ch4\OutofProc\DictCtrl\DictCtrl.cpp
Src\ch4\OutofProc\DictCtrl\DictCtrl.dsp
Src\ch4\OutofProc\DictCtrl\Release
Src\ch4\OutofProc\DictCtrl
Src\ch4\OutofProc\Dictionary\StdAfx.h
Src\ch4\OutofProc\Dictionary\StdAfx.cpp
Src\ch4\OutofProc\Dictionary\ReadMe.txt
Src\ch4\OutofProc\Dictionary\Dictionary.dsw
Src\ch4\OutofProc\Dictionary\Registry.h
Src\ch4\OutofProc\Dictionary\Registry.cpp
Src\ch4\OutofProc\Dictionary\Factory.h
Src\ch4\OutofProc\Dictionary\Factory.cpp
Src\ch4\OutofProc\Dictionary\animal.dict
Src\ch4\OutofProc\Dictionary\IDictionary.h
Src\ch4\OutofProc\Dictionary\ISpellCheck.h
Src\ch4\OutofProc\Dictionary\Dictionary.h
Src\ch4\OutofProc\Dictionary\Dictionary.cpp
Src\ch4\OutofProc\Dictionary\Dictionary.dsp
Src\ch4\OutofProc\Dictionary\Release
Src\ch4\OutofProc\Dictionary
Src\ch4\OutofProc\DictPrxy\DictPrxy.dsw
Src\ch4\OutofProc\DictPrxy\DictPrxy.def
Src\ch4\OutofProc\DictPrxy\dictionary.h
Src\ch4\OutofProc\DictPrxy\dictionary_p.c
Src\ch4\OutofProc\DictPrxy\dlldata.c
Src\ch4\OutofProc\DictPrxy\dictionary_i.c
Src\ch4\OutofProc\DictPrxy\Dictionary.idl
Src\ch4\OutofProc\DictPrxy\DictPrxy.dsp
Src\ch4\OutofProc\DictPrxy\Release
Src\ch4\OutofProc\DictPrxy
Src\ch4\OutofProc
Src\ch4\Aggre\CompB\CompB.cpp
Src\ch4\Aggre\CompB\CompB.def
Src\ch4\Aggre\CompB\CompB.dsp
Src\ch4\Aggre\CompB\CompB.dsw
Src\ch4\Aggre\CompB\CompB.h
Src\ch4\Aggre\CompB\Factory.cpp
Src\ch4\Aggre\CompB\Factory.h
Src\ch4\Aggre\CompB\OtherIFace.h
Src\ch4\Aggre\CompB\ReadMe.txt
Src\ch4\Aggre\CompB\Registry.cpp
Src\ch4\Aggre\CompB\Registry.h
Src\ch4\Aggre\CompB\SomeIFace.h
Src\ch4\Aggre\CompB\StdAfx.cpp
Src\ch4\Aggre\CompB\StdAfx.h
Src\ch4\Aggre\CompB\Release
Src\ch4\Aggre\CompB
Src\ch4\Aggre\CompA\CompA.cpp
Src\ch4\Aggre\CompA\CompA.def
Src\ch4\Aggre\CompA\CompA.dsp
Src\ch4\Aggre\CompA\CompA.dsw
Src\ch4\Aggre\CompA\CompA.H
Src\ch4\Aggre\CompA\Factory.cpp
Src\ch4\Aggre\CompA\Factory.h
Src\ch4\Aggre\CompA\ReadMe.txt
Src\ch4\Aggre\CompA\Registry.cpp
Src\ch4\Aggre\CompA\Registry.h
Src\ch4\Aggre\CompA\SomeIFace.h
Src\ch4\Aggre\CompA\StdAfx.cpp
Src\ch4\Aggre\CompA\StdAfx.h
Src\ch4\Aggre\CompA\Release
Src\ch4\Aggre\CompA
Src\ch4\Aggre\CompCtrl\CompCtrl.cpp
Src\ch4\Aggre\CompCtrl\CompCtrl.dsp
Src\ch4\Aggre\CompCtrl\CompCtrl.dsw
Src\ch4\Aggre\CompCtrl\OtherIFace.h
Src\ch4\Aggre\CompCtrl\ReadMe.txt
Src\ch4\Aggre\CompCtrl\SomeIFace.h
Src\ch4\Aggre\CompCtrl\StdAfx.cpp
Src\ch4\Aggre\CompCtrl\StdAfx.h
Src\ch4\Aggre\CompCtrl\Release
Src\ch4\Aggre\CompCtrl
Src\ch4\Aggre
Src\ch4
Src\ch6\TestCtrl\ReadMe.txt
Src\ch6\TestCtrl\TestCtrl.h
Src\ch6\TestCtrl\StdAfx.h
Src\ch6\TestCtrl\StdAfx.cpp
Src\ch6\TestCtrl\res\TestCtrl.rc2
Src\ch6\TestCtrl\res\TestCtrl.ico
Src\ch6\TestCtrl\res
Src\ch6\TestCtrl\TestCtrl.dsp
Src\ch6\TestCtrl\TestCtrl.dsw
Src\ch6\TestCtrl\Resource.h
Src\ch6\TestCtrl\TestCtrl.cpp
Src\ch6\TestCtrl\TestCtrlDlg.h
Src\ch6\TestCtrl\TestCtrl.rc
Src\ch6\TestCtrl\TestCtrlDlg.cpp
Src\ch6\TestCtrl\Release
Src\ch6\TestCtrl
Src\ch6\SourceComp\ReadMe.txt
Src\ch6\SourceComp\SourceComp.cpp
Src\ch6\SourceComp\SourceComp.h
Src\ch6\SourceComp\SourceComp.def
Src\ch6\SourceComp\StdAfx.h
Src\ch6\SourceComp\StdAfx.cpp
Src\ch6\SourceComp\res\SourceComp.rc2
Src\ch6\SourceComp\res
Src\ch6\SourceComp\Resource.h
Src\ch6\SourceComp\SourceComp.rc
Src\ch6\SourceComp\SourceComp.dsw
Src\ch6\SourceComp\SourceComp.odl
Src\ch6\SourceComp\SourceObj.h
Src\ch6\SourceComp\SourceObj.cpp
Src\ch6\SourceComp\SourceComp.dsp
Src\ch6\SourceComp\Release
Src\ch6\SourceComp
Src\ch6
Src\ch5\DictComp\DictComp.cpp
Src\ch5\DictComp\DictComp.def
Src\ch5\DictComp\DictComp.dsp
Src\ch5\DictComp\DictComp.dsw
Src\ch5\DictComp\DictComp.h
Src\ch5\DictComp\DictComp.odl
Src\ch5\DictComp\DictComp.rc
Src\ch5\DictComp\DictionaryObj.cpp
Src\ch5\DictComp\DictionaryObj.h
Src\ch5\DictComp\Interface.h
Src\ch5\DictComp\ReadMe.txt
Src\ch5\DictComp\Resource.h
Src\ch5\DictComp\StdAfx.cpp
Src\ch5\DictComp\StdAfx.h
Src\ch5\DictComp\res\DictComp.rc2
Src\ch5\DictComp\res
Src\ch5\DictComp\Release
Src\ch5\DictComp
Src\ch5
Src\ch7\TextComp\ReadMe.txt
Src\ch7\TextComp\TextComp.cpp
Src\ch7\TextComp\TextComp.h
Src\ch7\TextComp\TextComp.def
Src\ch7\TextComp\StdAfx.h
Src\ch7\TextComp\StdAfx.cpp
Src\ch7\TextComp\res\TextComp.rc2
Src\ch7\TextComp\res
Src\ch7\TextComp\Resource.h
Src\ch7\TextComp\TextComp.rc
Src\ch7\TextComp\TextComp.dsw
Src\ch7\TextComp\Debug
Src\ch7\TextComp\TextComp.odl
Src\ch7\TextComp\TextObject.h
Src\ch7\TextComp\TextObject.cpp
Src\ch7\TextComp\TextComp.dsp
Src\ch7\TextComp\Release
Src\ch7\TextComp
Src\ch7\CompFile\ReadMe.txt
Src\ch7\CompFile\CompFile.h
Src\ch7\CompFile\StdAfx.cpp
Src\ch7\CompFile\res\CompFile.rc2
Src\ch7\CompFile\res\CompFile.ico
Src\ch7\CompFile\res
Src\ch7\CompFile\CompFile.dsw
Src\ch7\CompFile\Resource.h
Src\ch7\CompFile\CompFileDlg.h
Src\ch7\CompFile\CompFile.cpp
Src\ch7\CompFile\textcomp.h
Src\ch7\CompFile\textcomp.cpp
Src\ch7\CompFile\ReadWrite.h
Src\ch7\CompFile\StdAfx.h
Src\ch7\CompFile\CompFileDlg.cpp
Src\ch7\CompFile\CompFile.rc
Src\ch7\CompFile\CompFile.dsp
Src\ch7\CompFile\ReadWrite.cpp
Src\ch7\CompFile\Release
Src\ch7\CompFile
Src\ch7
Src\ch9\ClipSamp\ClipSamp.dsw
Src\ch9\ClipSamp\res\ClipSamp.rc2
Src\ch9\ClipSamp\res\ClipSampDoc.ico
Src\ch9\ClipSamp\res\ClipSamp.ico
Src\ch9\ClipSamp\res\Toolbar.bmp
Src\ch9\ClipSamp\res
Src\ch9\ClipSamp\ChildFrm.cpp
Src\ch9\ClipSamp\ChildFrm.h
Src\ch9\ClipSamp\ClipSamp.cpp
Src\ch9\ClipSamp\ClipSamp.dsp
Src\ch9\ClipSamp\ClipSamp.h
Src\ch9\ClipSamp\ClipSamp.rc
Src\ch9\ClipSamp\ClipSampDoc.cpp
Src\ch9\ClipSamp\ClipSampDoc.h
Src\ch9\ClipSamp\ClipSampView.cpp
Src\ch9\ClipSamp\ClipSampView.h
Src\ch9\ClipSamp\dib.cpp
Src\ch9\ClipSamp\dib.h
Src\ch9\ClipSamp\HARE.BMP
Src\ch9\ClipSamp\MainFrm.cpp
Src\ch9\ClipSamp\MainFrm.h
Src\ch9\ClipSamp\ReadMe.txt
Src\ch9\ClipSamp\Resource.h
Src\ch9\ClipSamp\sample.bmp
Src\ch9\ClipSamp\StdAfx.cpp
Src\ch9\ClipSamp\StdAfx.h
Src\ch9\ClipSamp\Release
Src\ch9\ClipSamp
Src\ch9
Src\ch8\Scribble\mainfrm.cpp
Src\ch8\Scribble\res\itoolbar.bmp
Src\ch8\Scribble\res\scribble.ico
Src\ch8\Scribble\res\scribble.rc2
Src\ch8\Scribble\res\scribdoc.ico
Src\ch8\Scribble\res\toolbar.bmp
Src\ch8\Scribble\res
Src\ch8\Scribble\childfrm.cpp
Src\ch8\Scribble\childfrm.h
Src\ch8\Scribble\ipframe.cpp
Src\ch8\Scribble\ipframe.h
Src\ch8\Scribble\hlp\afxcore.rtf
Src\ch8\Scribble\hlp\afxolesv.rtf
Src\ch8\Scribble\hlp\afxprint.rtf
Src\ch8\Scribble\hlp\appexit.bmp
Src\ch8\Scribble\hlp\bullet.bmp
Src\ch8\Scribble\hlp\curarw2.bmp
Src\ch8\Scribble\hlp\curarw4.bmp
Src\ch8\Scribble\hlp\curhelp.bmp
Src\ch8\Scribble\hlp\editcopy.bmp
Src\ch8\Scribble\hlp\editcut.bmp
Src\ch8\Scribble\hlp\editpast.bmp
Src\ch8\Scribble\hlp\editundo.bmp
Src\ch8\Scribble\hlp\filenew.bmp
Src\ch8\Scribble\hlp\fileopen.bmp
Src\ch8\Scribble\hlp\fileprnt.bmp
Src\ch8\Scribble\hlp\filesave.bmp
Src\ch8\Scribble\hlp\hlpsbar.bmp
Src\ch8\Scribble\hlp\hlptbar.bmp
Src\ch8\Scribble\hlp\pen.rtf
Src\ch8\Scribble\hlp\recfirst.bmp
Src\ch8\Scribble\hlp\reclast.bmp
Src\ch8\Scribble\hlp\recnext.bmp
Src\ch8\Scribble\hlp\recprev.bmp
Src\ch8\Scribble\hlp\scmax.bmp
Src\ch8\Scribble\hlp\scmenu.bmp
Src\ch8\Scribble\hlp\scmin.bmp
Src\ch8\Scribble\hlp\scribble.hpj
Src\ch8\Scribble\hlp\Scribble.hm
Src\ch8\Scribble\hlp\Scribble.ph
Src\ch8\Scribble\hlp
Src\ch8\Scribble\mainfrm.h
Src\ch8\Scribble\makefile
Src\ch8\Scribble\makehelp.bat
Src\ch8\Scribble\pendlg.cpp
Src\ch8\Scribble\pendlg.h
Src\ch8\Scribble\readme.txt
Src\ch8\Scribble\resource.fd
Src\ch8\Scribble\resource.h
Src\ch8\Scribble\scribble.cpp
Src\ch8\Scribble\scribble.dsp
Src\ch8\Scribble\scribble.dsw
Src\ch8\Scribble\scribble.h
Src\ch8\Scribble\scribble.mak
Src\ch8\Scribble\scribble.rc
Src\ch8\Scribble\scribble.reg
Src\ch8\Scribble\scribdoc.cpp
Src\ch8\Scribble\scribdoc.h
Src\ch8\Scribble\scribitm.cpp
Src\ch8\Scribble\scribitm.h
Src\ch8\Scribble\scribvw.cpp
Src\ch8\Scribble\scribvw.h
Src\ch8\Scribble\stdafx.cpp
Src\ch8\Scribble\stdafx.h
Src\ch8\Scribble\Release
Src\ch8\Scribble
Src\ch8\OClient\frame.cpp
Src\ch8\OClient\frame.h
Src\ch8\OClient\hlp\afxcore.rtf
Src\ch8\OClient\hlp\afxcrmac.rtf
Src\ch8\OClient\hlp\afxprint.rtf
Src\ch8\OClient\hlp\afxptmac.rtf
Src\ch8\OClient\hlp\appexit.bmp
Src\ch8\OClient\hlp\bullet.bmp
Src\ch8\OClient\hlp\curarw2.bmp
Src\ch8\OClient\hlp\curarw4.bmp
Src\ch8\OClient\hlp\curhelp.bmp
Src\ch8\OClient\hlp\editcopy.bmp
Src\ch8\OClient\hlp\editcut.bmp
Src\ch8\OClient\hlp\editpast.bmp
Src\ch8\OClient\hlp\editundo.bmp
Src\ch8\OClient\hlp\filenew.bmp
Src\ch8\OClient\hlp\fileopen.bmp
Src\ch8\OClient\hlp\fileprnt.bmp
Src\ch8\OClient\hlp\filesave.bmp
Src\ch8\OClient\hlp\hlpsbar.bmp
Src\ch8\OClient\hlp\hlptbar.bmp
Src\ch8\OClient\hlp\maccmd.bmp
Src\ch8\OClient\hlp\oclient.hpj
Src\ch8\OClient\hlp\oclimac.hpj
Src\ch8\OClient\hlp\scmax.bmp
Src\ch8\OClient\hlp\scmenu.bmp
Src\ch8\OClient\hlp\scmin.bmp
Src\ch8\OClient\hlp\OCLIENT.hm
Src\ch8\OClient\hlp\OCLIENT.ph
Src\ch8\OClient\hlp
Src\ch8\OClient\maindoc.cpp
Src\ch8\OClient\maindoc.h
Src\ch8\OClient\mainview.cpp
Src\ch8\OClient\mainview.h
Src\ch8\OClient\makefile
Src\ch8\OClient\makehelp.bat
Src\ch8\OClient\oclient.cpp
Src\ch8\OClient\oclient.dsp
Src\ch8\OClient\oclient.dsw
Src\ch8\OClient\oclient.h
Src\ch8\OClient\oclient.mak
Src\ch8\OClient\oclient.rc
Src\ch8\OClient\oclient.reg
Src\ch8\OClient\rectitem.cpp
Src\ch8\OClient\rectitem.h
Src\ch8\OClient\res\oclient.ico
Src\ch8\OClient\res\toolbar.bmp
Src\ch8\OClient\res
Src\ch8\OClient\resource.h
Src\ch8\OClient\splitfra.cpp
Src\ch8\OClient\splitfra.h
Src\ch8\OClient\stdafx.cpp
Src\ch8\OClient\stdafx.h
Src\ch8\OClient\Release
Src\ch8\OClient
Src\ch8
Src\ch11\mfccalc\res\mfccalc.ico
Src\ch11\mfccalc\res\mfccalc.rc2
Src\ch11\mfccalc\res
Src\ch11\mfccalc\calcdlg.cpp
Src\ch11\mfccalc\calcdlg.h
Src\ch11\mfccalc\makefile
Src\ch11\mfccalc\mfccalc.cpp
Src\ch11\mfccalc\mfccalc.dsp
Src\ch11\mfccalc\mfccalc.dsw
Src\ch11\mfccalc\mfccalc.h
Src\ch11\mfccalc\mfccalc.mak
Src\ch11\mfccalc\mfccalc.odl
Src\ch11\mfccalc\mfccalc.rc
Src\ch11\mfccalc\mfccalc.reg
Src\ch11\mfccalc\resource.h
Src\ch11\mfccalc\stdafx.cpp
Src\ch11\mfccalc\stdafx.h
Src\ch11\mfccalc\Release
Src\ch11\mfccalc
Src\ch11\calcdriv\res\calcdriv.ico
Src\ch11\calcdriv\res\calcdriv.rc2
Src\ch11\calcdriv\res
Src\ch11\calcdriv\calcdriv.cpp
Src\ch11\calcdriv\calcdriv.dsp
Src\ch11\calcdriv\calcdriv.dsw
Src\ch11\calcdriv\calcdriv.h
Src\ch11\calcdriv\calcdriv.mak
Src\ch11\calcdriv\calcdriv.rc
Src\ch11\calcdriv\calctype.cpp
Src\ch11\calcdriv\calctype.h
Src\ch11\calcdriv\makefile
Src\ch11\calcdriv\resource.h
Src\ch11\calcdriv\stdafx.cpp
Src\ch11\calcdriv\stdafx.h
Src\ch11\calcdriv\Release
Src\ch11\calcdriv
Src\ch11\CalcDrv.xls
Src\ch11\Point\point.odl
Src\ch11\Point\point.h
Src\ch11\Point\point.tlb
Src\ch11\Point
Src\ch11
Src\ch12\smiley\makefile
Src\ch12\smiley\readme.txt
Src\ch12\smiley\resource.h
Src\ch12\smiley\smilectl.cpp
Src\ch12\smiley\smilectl.h
Src\ch12\smiley\smiley.cpp
Src\ch12\smiley\smiley.dsp
Src\ch12\smiley\smiley.dsw
Src\ch12\smiley\smiley.h
Src\ch12\smiley\smiley.mak
Src\ch12\smiley\smiley.rc
Src\ch12\smiley\smileydg.cpp
Src\ch12\smiley\smileydg.h
Src\ch12\smiley\stdafx.cpp
Src\ch12\smiley\stdafx.h
Src\ch12\smiley\res\smiley.ico
Src\ch12\smiley\res\smiley.rc2
Src\ch12\smiley\res
Src\ch12\smiley\Release
Src\ch12\smiley
Src\ch12\smilectl\makefile
Src\ch12\smilectl\readme.txt
Src\ch12\smilectl\resource.h
Src\ch12\smilectl\smile.cpp
Src\ch12\smilectl\smile.def
Src\ch12\smilectl\smile.dsp
Src\ch12\smilectl\smile.dsw
Src\ch12\smilectl\smile.h
Src\ch12\smilectl\smile.ico
Src\ch12\smilectl\smile.mak
Src\ch12\smilectl\smile.odl
Src\ch12\smilectl\smile.rc
Src\ch12\smilectl\smilectl.bmp
Src\ch12\smilectl\smilectl.cpp
Src\ch12\smilectl\smilectl.h
Src\ch12\smilectl\smileppg.cpp
Src\ch12\smilectl\smileppg.h
Src\ch12\smilectl\stdafx.cpp
Src\ch12\smilectl\stdafx.h
Src\ch12\smilectl\Release
Src\ch12\smilectl
Src\ch12
Src