ISBN: 1893115763
TITLE: C++ for VB Programmers
AUTHOR: Morrison, Jonathan
TOC:

Introduction xiii
Focus and Benefits xiii
Style of Presentation xiv
Prerequisites xiv
Chapter 1 Why C++? (And Why with Visual Basic) 1
Why Visual Basic Was Created 2
The Next Step 4
Conclusion 4
Chapter 2 Where Do We Start? 5
Visual Studio 5
C++ Runtime Environment 9
Visual C++ Debugging Environment 11
Conclusion 15
Chapter 3 How Do You Do That Voodoo That You Do? 17
Compiling 18
Linking 20
C Preprocessor 21
Memory 27
Conclusion 31
Chapter 4 C++ 101 33
Data and Variables 33
Standard Library Functions 38
Program Structure 40
Operators 50
Loops and Control Statements 61
Conclusion 66
Chapter 5 It's Not Polite to Point 67
What Is a Pointer? 67
Allocating Memory for Pointers 73
Strings and Char Pointers 75
Conclusion 79
Chapter 6 Classes 81
Class Dismissed 81
C++ Classes 88
Inheritance 97
Conclusion 108
Chapter 7 Templates 109
Understanding Templates 109
Using a Template Class 115
Conclusion 121
Chapter 8 Putting It All Together 123
The Application Requirements 123
The Application Design 123
The fileBreaker.cpp File 157
Conclusion 167
Chapter 9 What's the DLL, Man? 169
When a DLL is Not Really a DLL 169
The Basics of DLLs 170
Conclusion 182
Chapter 10 Your First Real DLL 183
TrayMan.DLL 183
Creating the TrayMan.DLL Interface 189
Implementing TrayMan.DLL 201
The Client Application 215
Conclusion 223
Chapter 11 An ATL Primer 225
COM and Interfaces 225
ATL 228
Conclusion 240
Chapter 12 The COM Project 241
Creating the Project 241
Adding the Methods 243
Implementing the Interface 249
Looking at the Client Application 268
Conclusion 276
Chapter 13 Advanced Topics 277
The DLLMain Function 277
Multithreading 280
Sharing Data in a DLL 295
Scripting the IDE 297
Conclusion 300
Appendix A A Thread to Visual Basic 301
Just Because You Can, Doesn't Always Mean that You Should 301
A Quick Review of Multithreading 302
The Threading Contract 310
The CreateThread API 312
The CreateThread API Revisited 316
Conclusion 320
Appendix B Visual Basic Strings: The BSTR Data Type 323
What Is a BSTR^? 323
Using_bstr_t 325
Conclusion 333
Appendix C Article 3. Strings the OLE Way 335
Unicode Versus ANSI 336
What Is a BSTR? 340
The String Class 349
Index 367
END
