Programmer`s Guide
Transcription
Programmer`s Guide
,:iffi M cr o s o f t ' w"rdowsM' Wndows"g8 Guideto TheEssential 1++6.0 Visual Microsoft tffilJ++G.o Guide Programmer's @r-/r: ?%q. oaL'a il*.ffii IntroductionGetting Started withVisualJ++6.0 Creating a W F C A p p l i c a t i o .n. Modifying Y o u rA p p l i c a L i o n . B u i l d i n ga n dR u n n i n Y g o u rA p p l i c a t i o .n. . . . . conten . . . . xxv ....... xxv ........ xxv .......... xxvi D e b u g g i nY g o u r A p p l i c a t i o n.. ....... xxvi P a c k a g i nYgo u rA p p l i c a t i o. n ........ rxvi P a r t l G e t t i n g S t a r t e d w i t hJV+i+s6u.a0l ........... 1 3 Creatinga Windows Applicationwith WFC. . . . . Modifying the Form in the FormsDesigner . . . . . . . Building and Ruming the Application Creating a Windows Application with the Application Wizard . . . . . Building and Running the Application Creating a Dynamic HTML Application Viewing Codein theTe^t Edilor. Building and Running the DHTML Application . . . . . . C r e a t i an C g O MD L L . . . . . . . . . . AddingCodein theText Editor. BuildingtheDLL. ImportingtheDLL Creatinga Control Viewing Codein the Text Editor. 4 5 6 7 7 9 10 11 11 l2 . . . . . . . . . . 1 2 13 13 15 16 Modifying the Control in the Forms Designer. . . lo B u i l d i n g r h e C o n r o. l.... . . 17 17 l8 19 t9 Adding the Control to a Form Crealinga ConsoleApplication. Adding Code in the Text Editor. Building and Running the Application . . . . . .,e5:'1".'l"lt':. . 4'lo.**'?t-\, i d'*.*a : Rr*o*n"o"t Contents Creatingar Applet. . . Viewing Code in the Text Editor . . . Building and Running the Applet. Creating an Empty Project . . . Creating a Multiproject Solution B u i l d j n g aM u l t i p r o j e c t S o l u t .i .o. n. . . . Setting the Startuphoject. . . . Managing Projectswith Project Explorer c ti e w . . . . . . . . . C h o o s i nt hgeP r o j e V a File Opening Files MiscelLaneous Addinga File Adding a File that Residesin the ProjectDirectory Structure . . Adding a Folder Adding a Folder that Residesin the ProjectDirectory Structure Movingor Copyinga Fileor Folder. Renaming a Fileor Folder.. . Removinga File or Folder.. . Displaying All Files in the ProjectDirectory Structure. The ProjectFilter Settingftoject Options.. . . . . . . . . . . S e m i n g L a u n c h O p t i o. n. .s . . . . . S e t t i nC g o m p i l eOr p t i o n s. . . . . . . CrearingCustomBuild Rules.. . . . . .t .h . . . . . . . SetlingtheClasspa t9 20 21 21 23 aA ,,/| 25 25 zo 2'7 27 28 29 29 30 3l 3l 32 32 33 33 34 35 36 S e t t i nCgO M C l a s s e. s. . . . . . . . . I m p o r t i n ga V i s u a lJ + + l . l P r o j e c t . . . 38 Chapter2DesigningForms. 39 Creating a Form. 40 4l ManagingtheToolbox.. . . . . . Adding Controlslo a Form. Adding an Event Handler . . . FormattingForms. Modifying the Form f,uyou, S.h*io, . . . . SettingPropertieswith the PropertiesWindow . Guide ir Prognrnrner's 44 45 46 46 47 49 50 50 51 Code. 3 Editing Chapter ManagingFiles with the Text Editor Splitting a Window in the Text Fditor Viewing a File in Full-ScreenMode. Finding andReplacingText in a SingleFile . ' ' Finding Text in MultiPle Files . Finding MatchingDelimiters. . Navigatingwith Bookmarks . Selectinga Box of Text. . . .. .' ComPletion'... Writing Codewith Statement Enabling/DisablingStatementCompletionOptionsin the Text Editor ' CreatingStatementswith Word Completion. ' ' Selectingan OverloadedMethod. SelectingMethodsfrom a MemberList '' Building an ArgumentList with ParameterInfo Finding Errors with DynarnicSyntaxChecking . . ' Enabling/DisablingDynamic SyntaxCheckingOptionsin the Text Editor UpdatingClassOutline ftom the Text Editot . . . . Adding Itemsto ClassOutline from the Text Editor AdclingJavadocComrnentsto SoulceFiles ' ' ' ManagingCodewith ClassOutline . RefreshingClassOutline. . . . to a Defrnition.... Navigating a Modifying ClassDeclaration Adding a New Declaration . . Adding Deciarationsfor InterfaceMethods . ' ...... D e l e t i nagD e f i n i t i o n a Definition Copying Moviag or Overriding a Method 5i 51 52 52 53 54 54 55 )t 56 57 59 60 6i 62 63 64 64 66 68 69 69 69 7l ' 73 73 74 74 Programmer'sGuide v Modifving Components with the WFC ComponeniBuilder. . A L I L I ; rrpn d D e l e tnr g P r t ' p e r t i e r A J d i n ea n JD e l e l i n gt r e n r : . Browsing Packagesard Librades with the Object Blori ser.. . V i e u i n g ( l r r s .' a l d M e m b e r . Viewing Classand MemberInfbrnation. . . . . . . . . V i e u i n gD e f r r i r i o n V i e u i n p H i d J e nM e m b e r . SclectinP g r c k a g ea. n dL i h r a r i e r Grouping and Sorting ClassesrLndMembers . C h a p t e rA4c c e s s iD na gt a . . . . 83 Runningthe Data Form Wizard. Iormuiun!Drn........ \ r \ i ! a r i n gR e c '{r J . 84 84 85 8-5 86 87 88 88 89 89 90 92 92 93 93 95 Chapter 5 Introducing Wizards andBuilders 97 Chapter 6 Debugging Applications oo Databuse flpe Step . . . Dirlilbar<Step. C u n n e cItn f o r r r l t i , ' rS r t e p. . . for m Step R c i , ' r r lS o u r c eS l e p .. . . . R e ( o r dS o r r r cR e e l a t i o nS r e p ControS l c l e c t i uS n rep. . . S u n r r n aS r lt e p R . - t r r errn pr S e lo l R c ! , ) r J . . B i n d i n gD a t aw i f i t h eD a t a B i n d e Cro n t r o. l. . . . . . . Binding Datawith the DataGridControl . . . . A r . e . : i n gC , ' l u n r P n ropcrtrcs . . Adding, Removing.andReanangilgColumns. . T h eD e b u g g i n P g r , r c e r .. . BasicDebuggingProcedures. . 100 100 Entering Comrnand-lineArguments . r00 D i . p l r l i n g t h c D e b u gT o o l h a r. . t01 101 l0l 102 S e t t i n gB r e r k p o i n t . Setting a BreakpointBefore Starting the Debugger . . . . . Seuinga Breakpointfrom the BreakpointsDialogBor. . . 'r 15 15 1'7 78 78 79 19 19 80 81 i ' r , , ! rr l n m e r ' sG u i d e Examining Information with Debug Windows . . Viewing Information in the Auto Window . . . . . Viewing Information in the Locals Window . . . . Viewing Information in the Watch Window . . . . Viewing Information in the ImmediateWindow . . . Viewing Information in the ThreadsWindow . . . Viewing Information in the Call Stack Window. . . . Debugging an Applet Running in Internet Explorer. 102 102 103 104 106 107 110 111 ll1 112 113 ),14 tt4 115 I l6 116 IN ll8 118 119 119 120 120 120 Chapter 7 Packaging andDeploying Proiects 121 Chapter 8 Managing Projects withSource CodeControl. 123 Chapter 9 Compiling Applications withJVC. 125 Descriptionof JVC Syntax. . . C o m p i l i nw g i r hJ V C . E X E JVC CommandFiles.. . . . . . CLASSPATHEnvironment Variable. JVC Command-Line Options. lcp SetCLASSPATHOption(JVC) /cp:o DisplayCLASSPATHOption(JVC). . . . lcp:p Prepend CLASSPATHOption(JVC) . . . /d - OutputDirectoryOption(JVC). 125 126 1Z'l 127 129 Viewing Information in the Running DocumentsWindow SteppingThrough the Code. . . Debugging a WFC Application . Debugging a ConsoleApplication. Debugginga MultitbreadedApplication ...... MultithreadedBeveragesApplication Coffee and Tea SourceCode . Debugginga Mulri-Process Applicarion. DebuggingaCOM Object ... Using an Active ServerPages(ASP) Debugging Client. Preparingthe Environmentfor Debugging a Java Server-SideComponent Starting a Java Server-SideComponentDebugging Session. . Using an ExecutableDebugging Client Using the Microsoft TransactionServer (MTS). . . . Debugginga JavaApplet . . .. Debugging an Applet Running in JVIEW r29 130 130 131 Programmer'sGuide vii | :: : :rtE i €:!F --_ : r:_,- '' - - l : -J. l;:ri: :\':l :l 1):'i: l:,i' :i:l':l I :\ ! I r' - . . , - : . ( l r t r ,' n - T (\ ;'\:i-.ill Bllllrlc'f -- \.,.rinS\le.'.Lge. . - . L) r t i rO p t i o nt J \ C t - : : : . . r r l l i r l \O P l i o n( J V C ) . n p t i o n( J \ - ( lI . : \ 1 : l i L ' J : O p t i m i z a t i oO ' : : : . : / i B \ l e . ( l . i eJ u m p sO p d o l ( J V C ) . Cllsses : - - :rprle Reierenced . .. Option (JVC) Dr.plavCornpilcrN'lessagcs ssl \\'.uningLevel Option (JVC) . L)i'.rbleLanguageExtensiorsOption(JVC) . . OnlineHclp Option(JVC). andWJVIEW. withJVIEW Applications 10 Viewing Chapter \ re$ing Applicationswith JVIEW Descriptionof JVIEW Syntax RunningJVIEW.EXE.. . . . . . JVIEW Command-LineOptions Applct Viewer Option(JVIEWAiTJVIEW). . /a /cp - SetCLASSPATHOption (JVIE\V/WIVIEW) /cp:a . AppendCLASSPATHOption (JVIEWWJVIEW.). PrcpendCLASSPATII Option (JvlEWAVJvlEw) . . /cp:p /dr - SystemPropertyOption (JVIEW,TVJVIEW) /p PauseViewer Option(JVIEWAVJVIEw) . . ClassVerilicarionOptiott(JVIEW,AVJVILW) . Online Help Option (JVIEWWJVIEW) . Viewing ApplicationsrvjLhWJVIEW /r' /? Description of WJVIEW S-vntar RunningWJVIEW.EXE . . . . WJVIEW CommandLinc Options . . . . . . . . . . . . . . . 131 132 132 I33 133 133 134 134 135 135 136 136 137 138 138 Par G . 139 . .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. r39 139 140 l4l t4l 1,13 143 l'+4 l,+5 1.16 1rt6 111 111 i.18 1'18 149 ( Conrents .151 J++. withVisual Part2 Programming .. to WFCProgramming. 11 Introduction Chapter ... .. Creatingthe Application Using Visual J+t. Starting and Stopping ar Application. .. . Anatomyof a Visual J++ Form Template. . ..... GettingStartedwith ContlolsandTemplates .. Starting with a Form Adding Controls. Adding Menus . Adding Code Asamplewalkthrough ..... Handling Events. Implementing a Modal Dialog Box Using a MessageBox as a Modal Dialog Box . . . . Implementing File Dialog Boxes and File VO . . . . . . Sample Walkthrough Summary . Code Listings MyNotepad.java. NewDialogjava . .' ' Concepts' 12 WFCProgramming Chapter WFC Packages Working with the Visual Componentsof WFC . . . Windows Visual Components The Control Class. Using Forms. Oven iew oI WFC Controls. AccessingGraphical Services Dynamic HTML Visual ComPonents Handling Events in WFC . . . . Localizing Your Application. . Using WFC Application Services Starting and Quitting an Application nvents. H a n d l i n gA p p l i c a t i oE .153 . . . .. .. .. .. .. .. .. .. .. .. .. .. .. .. 154 t54 155 155 155 156 158 162 162 164 165 165 166 161 168 168 172 .. 175 .. .. .. .. .. .. .. .. .. .. .. .. .. r'76 t7'7 178 178 179 180 182 183 183 186 187 187 188 Programmels Guide ix Contents Usingthecom.ms.wfc.html Package on a Server ASP-Based Approach . . . ... . HTML-BasedApproach. . . . . ... 267 ... 268 .. 269 Chapter 15 Graphical Services. ...273 Creatinga GraphicsObjecr. . . Explicit Graphics Object Creation Implicit Graphics Object Creation Retrieving a GraphicsObject GraphicsObject Scope. . . . . Maintaining the Bounding Rectangle. Performing Handle-BasedOperations TheGraphics Objectcoordinate System . . . . . . . SettingtheCoordinate Odgin MappingLogicalCoordinates to DeviceCoordinates. .. DrawingText. SettingText Color UsingtheFontobject. ...... C r e a t i nagF o n tO b j e c t. . . . . SettingtheFonton a GraphicsObject. Enumerating Fonts UsingPens WFC PenObject. SettingthePenon a GraphicsObject UsingBrushes BrushOrigin LogicalBrushTypes.,. . . . . WFC BrushObject Creating a BrushObject.... SettingtheBrushon theGraphicsObject. . . . . . . . . . . A BrushObjectExample.. . . DrawingBitmaps. ShrinkingandExpandingImages. Rendering ImagesTransparently RasterOperations. DrawingShapes. Lines.... xii hogrammer'sGuide .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. .. 273 274 274 2',75 275 277 278 279 280 280 281 281 282 282 282 283 283 .. 28s .. .. .. .. .. .. .. .. .. .. .. .. .. 286 286 286 287 289 289 290 294 295 295 296 297 297 291 298 298 300 300 301 302 Rectangles. . .s. . . . Rectangleoperation ARectangle ExamPle . . . . Chords... Arcs.... Arc Angles BezierSplines . Activex Controls' andlmporting 16 Building Chapter Building Activex Conftols . . . D e f i n i n ga W F C C o l t r o l a sa C O M O b j e c t . . Packagingthe Conftol in a COM DLL . . ..... B u i l d i n g t h e P r o j e c t..... . . Registeringthe COM DLL . . Testing the Contd in Microsott Visual Basic. . . . Importing ActiveX Cont[ols . . . .. ' a gC o n t l o .l . . . . . Registerin CreatingaWFC Project ... lmporting an Activex Conbol. Adding the Control to a Folm Setting the Conffol's ProPerties. B u i l d i n g t h e P r o j e c t ... . . . ... COMobjects. andlmporting 17 Building Chapter Building COMObjects. . . . . Creating a Project. . Adding Code to the Class . Class as a COM Defining a Class Packagingthe Project as a COM DLL B u i l d i D g t h e P r o j e c .t . . . . Imporring COM Objects. . . Creating a Project. I m p o r t i n ga C O M O b j e c t. . . . Adding Code to Accessthe COM Object Building and Running the Project . ... . ' 303 303 304 304 305 305 306 307 30'7 308 308 309 309 310 311 3lt 3t2 313 314 315 315 316 316 317 3\',7 318 Progranmer'sGuide xiii 18 DataBinding inWFC Chapter 319 D a t aB i n d i n g . SimpJe 320 320 320 321 322 322 323 B indablePropenies PropertyChangeNoLification".. . . . .r. . . . . D a t a B i n d e r c o m p o. n. .e. n ComplexDataBinding. . . . . . . . . datasourceand dataM"*ber Propenies . Complex Bound Componentsin Visual Jt+ . . . . . withJ/Direct 19 Writing Windows-Based Applications Chapter 325 M e s s a g e B o x E x a m p l e. . .. Fixed-Size ScalarArrays EmbeddedWithin Structures. 325 326 321 328 328 329 330 330 330 332 333 333 333 333 334 336 336 338 339 340 340 StructurePacking 34r Understandingthe RelationshipBetween @dll.structand @com.stluct 341 342 342 J / D i r e cC t a l l B u i l d e r. . Setting J/Direct Call Builder Options Quick SyntaxReference Slntax for @dll.impon Synta-rfor (adll.struct. Syntaxfor @dll.structmap. How Data Tlpes are Marshaled. Quick Reference. Basic ScalarTypes Chars.. . . Booleans. Strings. . Pa'singa Stringto a DLL Function. Receiving a String from a DLL Function Arrays . . . structures. CorrespondenceBetweenTypes Inside Structures NestedStructures Fixed-SizeStrings EmbeddedWithin Structures . . . P o i n t e r s. . RetumvaluePointers . . . . . Raw Pointers I : l PollmorphiP c a r a m e t e r s. . . 344 Declaring the Parameteras Type Object Or erloadingthe Function ComparisonBetweentheTwo Methods. . . . . . . C.illbacks. Declaringa MethodthatTakesa Callback ..... Invoking a Function that Takes a Callback . . . . . . . . . . . . . Restrictionson Types Acceptedby the Callback Method . . . AssociatingData with a Callback. The Lifetime o{ a Callback . . Embeddinga Callbacklnside a Sfucture . . . . . . I n r o l i n gO L E A P I F u n c t i o n s OLE Mode Syntax. . . Comparisonof Win32 Functionswith OLE Functions. . . . . . . . ComparingWin32 Code to OLE Code. I n ro k i n gO L E F u n c t i o n s . How OLE Mode Work' . . . . Passingand Receiving Strings from OLE Functions PassingGUIDs(andIIDs and CLSIDs) . . . . . . . P a s s i nV g ARIANTs. .. . PassingCOM Tnterface Pointers (Method Aliasing Renamingr L i n k i n gb y O r d i n aI Specifying @dll.import for ar Entire Class How the VM ChoosesBetweenANSI and Unicode Calling the ANSI Version of a DLL Function. . . Calling the Unicode Version of a DLL Function . . Calling the Optimal Version of a DLL Function . Obtaining the Enor Code Set by a DLL Function . Dynamically Loading and Invoking DLLs. . . . . . Comparing J/Direct to Raw Native Interface . . . . . . SecurityIssues. Trusted Versus UntrustedClasses Security Checkpointsfor J/Dircct Method Calls . Secudty Checksat Link Time . Security Checkpointsfor J,Direct Structures.. . . Securityandthecom.ms.win32Classes.. . . . . . 345 346 346 346 34',7 34'7 348 348 348 349 349 349 350 350 350 351 351 352 352 352 353 354 355 355 356 356 35',7 358 359 360 360 361 361 363 363 Programmer's Guide xv Error Messages J a v a . l a nSge. c ur i ty E ' r . . p , l o nJ . f " , . , r . , n " d | . . . java.lang.IllegaIAccessEnor. ja\ a.lang.SecurityException .. .. . . jar a.lang.NoClassDe[FoundEror. com.ms.security.SecurityExceptionEx T r o u b l e : h o o t i n g T i p s. . . . . UnsatisifiedlinkEnor When Calling a Method . . . . . . . . . . . Getting SecurityExceptionWhen Calling a DLL Method or Using an @dll.slructClass.... 36'7 367 36',1 361 StringBuffersTruncatedon Retum From DLL Function. Syntax Errors Within @dll Directives. Compiler Cannot Find the com.ms.dll Package . . @dll Directives Do Not Work on Applets (or Only Works Within the Microsoft Virual J++ Environment).. . . Using J/Direct Makes ClassUntrusted J/Dircct Throws a ParametercountMismatchErrorAfter Calling a Native Function . . J/DirectDoesNot Unloada DLL Appendix A ErrorsandWarnings .. C o m p i lEenr o Jr 0 0|0. . . . . . . . . . C o m p i l e r E n o r J 0 0.O. .2. . . . . . . CompilerEmorJ000 . .4..... . . . C o m p i l eErn o rJ 0 0 0 5. . . . . . . C o m p i l eErn o rJ 0 0 0 6. . . . . . . . . . CompilerEnorJ00O7.......... C o m p i l eErr r o r J 0 0 l 0. . . . . . . . . C o m p iE l enr oJr 0 01I . . . . . . . . . . C o m p i l e r E n o r J 0 .0.l.2... . . . . C o m p i l e r E r r o r J 0 0. l.3. . . . . . . . C o m p i l e r E n o r J 0 .0.l.4... . . . . C o m p i l e r E r r o r J 0 0. l.s. . . . . . . . C o m p i lE en r o Jr 0 0 l O . . . . ..... C o m p i lEenr o Jr 0 0 l 7 .......... Compile Err r o Jr 0 0 1 .8. . . . . . . . . C o m p i l e r E n o r J o 0.l .q. . . . . . . . C o m p i l e r E r r o r J 0 0 2. .O. .. . . . . . C o m p i lEenr o Jr 0 0 2.1. . . . . . . . . xri P r o g r a m m e r 'C s uide 364 364 364 365 365 366 366 366 . . . . 367 368 368 368 369 369 369 369 369 3'70 3'70 370 3',70 371 3',72 372 373 3',73 3'74 374 3',7 5 375 3',7 5 CompilerErrorJ0022. . . CompilerErrorJ0023. . . CompilerErrorJ0024. . . CompilerErrorJ0025. . . CompilerEror J0026. . . CompilerErrorJ0027. . . CompilerEnor J0028. . . CompilerEnor J0029. . . CompilerErrorJ0030. . . CompilerErrorJ0031. . . CompilerErrorJ0032. . . CompilerErrorJ0033. . . CompilerEror J0035. . . CompilerEror J0036. . . CompilerError J0037. . . CompilerErrorJ0038. . . CompilerErrorJ0040. . , CompilerErrorJ0041. . . CompilerError J0042. . . CompilerEnor J0043. . . CompilerError J0044. . . CompilerErrorJ0045. . Compiler Eror J0046. . CompilerEror J0048. . CompilerErrorJ0049. . CompilerErrorJ0051. . CompilerErrorJ0053. . CompilerEnor J0056. . CompilerEnor J0057. . CompilerErrorJ0058. . CompilerEnor J0059. . CompilerError J0060. . CompilerEnor J0061. . CompilerEror J0062. . CompilerEnor J0063. . CompilerEnor J0065. . CompilerErrorJ0066. . CompilerError J0067. . 376 376 3'.7',1 377 378 378 378 3',79 379 379 380 380 381 381 381 382 382 383 383 384 384 385 385 386 386 387 387 387 388 388 388 389 390 390 391 39r 392 392 Programmer'sGuide xvii CompilerErrorJ0068. CompilerErrorJ0069. CompilerEror J0072. CompilerEnor J007,1. CornpilerErrorJ0075. CompilerErrorJ0076. CompilerErrorJ0077. CompilerErrorJ0078. CompilerErrorJ0079. CompilerErrorJ0080. CompilerErrorJ0081. CompilerErrorJ0082. CompilerErrorJ0083. CompilerEnor J008,1. CompilerErrorJ0085. CompilerErrorJ0086. CompilerErrorJ0087. CompilerEnor J0089. CompilerErrorJ0090. CompilerEror J0091. CompilerEnor J0092. CompilerErrorJ0093. CompilerEnor J0094. CompilerErrorJ0095. CompilerErrorJ0096. CompilerErrorJ0097. CompilerEnor J0098. CompilerErrorJ0100. CompilerEnorJ010l. CompilerErrorJ0102. CompilerErlor J0103. CompilerErrorJ0104. CompilerEuor J0105. CompilerEnor J0106. CompilerErrorJ0107. CompilerErrorJ0108. CompilerErrorJ0109. . CompilerEnor JOll0 . . \viii Programmer'sGuide .393 .393 .393 . 391 . 394 .395 .395 .396 .396 . 39'7 .398 .398 . 399 .399 . ,+00 . . . . . . . . . . 400 400 401 ,101 102 102 402 403 404 ,+04 404 405 405 406 407 407 408 ,108 409 409 410 410 4tl ConIenI. .. C o m p i l eErn o rJ 0 1 lI . . CompilE e r r o Jr 0 1 1.2 . . . . . C o m p i l eErr r o rJ 0 l I 3 . . . . . Err o rJ 0 1 1.4 . . . . Compile C o m p i l eErn o rJ O l 1 5. . . . . C o m p i l eErr r o rJ 0 1 1 6 . . . . CompilerEror J01l'7. . . . . . . .. CompilerErrorJ0120. ErrorJ0121.. . . . . Compiler ErrorJ0122. . ... Compiler CompilerEnor J0123. . . . . C o m p i l e r E n o r J 0 1 2 4 .. .. . CompilerEnor J0125. . . . . . CompilerErrorJ0126. . . . C o m p i l eErn o rJ 0 l 2 ' l. . . . . Eror J0128. . . . .. Compiler CompilerErrorJ0129. . ErrorJ0130. .. Compiler CompilerErrorJ0131.. . ErrorJ0132. . ... Compiler ErrorJ0133. . ... Compiler J0134.. . . . . CompilerEnor J 0 1 3 5. . . . E n o r Compiler C o m p i l eErr r o rJ 0 1 3 6. . . . EnorJ0138 .. . Compiler .. . CompilerErrorJ0139. EnorJ0140 .. . Compiler . CompilerErrorJ0l4l . EnorJ0142 .. Compiler CompilerErrorJ0143. . . CompilerErrorJ0144. . ... CompilerEnorJ0145. . ErrorJ0146 . .. Compiler Enor J0147. . .. Compiter J0148.. . . CompilerEr:ror J0150.. . . CompilerEnor Eror J0151. . . . Compiler CompilerErrorJ0152. . . lt l a1') .........412 411 . . . . . . . . . 413 .........414 . . . . . . .. 4 i 4 . . , . ' , . . , 4 | 4 . . . . . . . . . 415 . . . . .. . .. 4 1 5 .........416 ..........117 ..........417 . . . . . . . . . . 418 ..........419 . . . . . . . . . . 419 . . . . .. . . . . 4 t 9 . . . . . . . .. . 4 2 0 . . . . .. . . . . 4 2 0 ..........421, ..........42r ..........121 . . . . . . . . . .4 2 2 . . . . . .. . . . 4 2 2 ......... 423 . . . . . . .. . . 4 2 3 a)3 ......... 424 ...........424 ...........425 . . . . . . . . . .. 4 2 6 . . . . . . . . .. 4 2 6 L)'7 ,141 .......... 428 . . . . . . . ., . . 4 2 9 . . . . . . . . .. . 4 2 9 Guide {ix Programmer's Compiler EnorJ0158. . Compiler ErrorJ0159. . Compiler ErrorJ0160. . ConpilerEror J0l6l . . . CompilerEnor J0162. . CompilerErrorJ0163. . . CompilerEnor J0164. . . CompiterEnor J0165. . . CompilerErrorJ0166. . . CompilerEnor J0167. . . CompilerErrorJ0168. . . CompilerEror J0169. . . CornpilerEror J0170. . . CompilerEnor J0173. . . CompilerEnor J0175. . . CompilerErrorJ0176. . . CompilerErrorJ0189. . . CompilerEnorJ0191. . . CompilerErrorJ0192. . . CompilerErrorJ0193. . . CompilerErrorJ0194. .. Compiler ErrorJ0195. . . Compiler Enor J0196. . . CompilerErrorJ0197. . . CompilerEror J0198. . . CompilerErrorJ0199. . . CompilerEnor J0200. . . CompilerEnor J0201. . . CompilerEnor J0202. . . CompilerEnor J0203. . . CompilerErrorJ0204. . . CompilerErrorJ0205. . . CompilerErrorJ0206. . . CompilerErrorJ0207. . . CompilerEtror J0208. . . CompilerErrorJ0209. . . CompilerErrorJ0210. . . CompilerEror J0214. . . xx Programner's Guide 430 ,130 430 430 431 431 431 432 432 433 434 434 435 435 436 436 436 437 43'7 431 438 439 439 440 440 441 412 412 413 444 444 445 145 446 446 446 CompilerErrorJ0215. . . CompilerErrorJ0216. . . CornpilerErrorJ0217. . . CompilerErrorJ0218. . . CompilerErrorJ0219. . . CompilerEnor J0220. . . CompilerEnor J0221. . . CompilerEnor J0222. . . CompilerErrorJ0223. . . CompilerEnor J0224. . . CompilerErrorJ0225. . . CompilerErrorJ0226. . . CompilerEnor J0227. . . CompilerEror J0228. . . CompilerEror J0229. . . CompilerEnor J0230. . . CompilerErrorJ0231. . . CompilerErrorJ0232. . . CompilerErrorJ0233. . . CompilerErrorJ0234. . . CompilerErrorJ0235. . . CompilerEnor J0236. . . CompilerEnor J0237. . . CompilerEnor J0238. . . CompilerErrorJ0239. . . CompilerErrorJ0240. . . CompilerEnor J0241. , . CompilerEnor J0242. . . CompilerErrorJ0243. . . CompilerErrorJ0244. . . CompilerErrorJ0245. . . CompilerErrorJ0246. . . CompilerEnor J0247. . . CompilerErrorJ0248. . . CompilerEnor J0249. . . CompilerErrorJ0250.. . CompilerEtrorJ0251. . . CompilerEnor J0252. . . 441 441 147 448 448 448 449 449 450 450 451 451 454 454 455 456 456 457 458 458 459 459 459 460 460 461 461 46r 462 462 463 163 464 Programmer's Guide xxi CompilerEror J0158. . CompilerErlor J0159. . CompilerEnor J0160. . Compiler Eror J0161. . Compiler Enor J0162. . CompilerEror J0163. . CompilerErrorJ0164. . CompilerErrorJ0165. . CompilerErrorJ0166. . CompilerEnor J0167. . CompilerEror J0168. . CompilerErrorJ0169. . CompilerEnor J0170. . CompilerErrorJ0173. . ErrorJ0175. . Compiler Eror J0176. . Compiler EnorJ0189. . Compiler C o m p i l eEr r r o rJ 0 1 9 1. . CompilerErrorJ0192. . C o m p i l e r E n o r J 0 1.9. 3 CompilerErrorJ0194. . CompilerEnor J0195. . CompilerEror J0196. . CompilerEror J0l9? . . CompilerEror J0198. . CompilerErrorJ0199. . CompilerErrorJ0200. . CompilerEnor J0201. . CompilerEnor J0202. . CompilerErrorJ0203. . CompilerErrorJ0204. . CompilerErrorJ0205. CompilerEror J0206. CompilerEnor J0207. CompilerErrorJ0208. CompilerErrorJ0209. CompilerErrorJ0210. ErrorJ0214. Compiler 430 430 430 ,130 431 431 431 432 432 433 433 434 434 134 435 , 11 < 436 436 436 437 437 438 439 439 110 440 44r 442 442 443 444 444 445 415 446 446 446 J0215.. . . . CompilerEnor CompilerErrorJ0216.. . . . CompilerEnorJ0217.. . . . CompilerErrorJ0218.. . . . CompilerErrorJ02i9. . . . . CompilerEnorJ0220.. . . . CompilerError J0221. . . . . CompilerEnorJ0222.. . . . CompilerErrorJ0223.. . . . CompilerEnorJ0224.. . . . CornpilerErrorJ0225. .. . CompilerErrorJ0226.. . . CompilerErrorJ0227. . .. CompilerEnorJ0228.. . . CompilerEnorJ0229.. . . CompilerErrorJ0230.. . . ErrorJ0231.... Compiler CompilerErrorJ0232.. . . CompilerError J0233. . . . CompilerErrorJ0234.. . . CompilerEnorJ0235.. . . CompilerErrorJ0236.. . . CompilerEnorJO23T.. . . CompilerErrorJ0238.. . . CompilerEnorJ0239.. . . CompilerErrorJ0240.. . . CompilerEnor J0241.. . . CompilerErrorJ0242.. . . CompilerError J0243. . . . CompilerEfor J02,14.. . . CompilerErrorJ0245.. . . CompilerEnorJ0246.. . . CompilerErrorJ0247.. . . CompilerErrorJ0248.. . . CompilerErrorJ0249.. . . CompilerErrorJ0250.. . . CompilerErrorJ0251. . .. CompilerErrorJ0252.. . . . 447 . 447 . 447 . 448 . 448 . 448 . 449 . 449 . 450 . 450 . 451 . 451 . 452 . 453 . 453 . 453 . 454 . 454 .455 . 455 . 456 ,. 456 .. 457 .. 458 .. 458 .. 459 .. 459 .. 459 .. 460 .. 460 .. 46r .. 46r .. .. .. .. .. .. 461 462 462 463 463 464 Progammer'sGuide xxi Contents CompilerErrorJ0253. . . . . CompilerError J0254. . . . . CompilerErrorJ0255. . . .. CompilerEnor J0256. . . . . CompilerEnorJ0257. . . . . CompilerErrorJ0258. . . . . CompilerErrorJ0259. . . . . CompilerErrorJ0260.. . . . C o m p i l eErr r o rJ 0 2 6 1. . . . . CompilerError J0262. . . . . CompilerEnorJ0264. . . . . CompilerError J0265. . . . . CompilerErrorJ0266. . . .. CompilerErrorJ0267. . . . . CompilerErrorJ0268. . . . . CompilerErrorJ026g. . . . . CompilerErrorJ0270. . . .. C o m p i l eErr r o rJ 0 2 7 1. . . . . Compiler Error J0272. . . . . CompilerEnor J0273. . . . . CompilerErrorJ0274. . . . . CompilerEnorJO2T5 ..... CompilerError J0500. . . . . CompilerWamingJ5001.. . CompilerWamingJ5002.. . , CompilerWaming J5003.. . . CompilerWarningJ50M. . . . CompilerWaming J5005.. . . CompilerWarningJ5006.. . . CompilerWamingJ5014.. . . CompilerWamingJ5015.. . . CompilerWamingJ5016.. . . CompilerWarningJ5018.. . . CompilerWamingJ5019.. . . CompilerWarningJ50ZO.. . . CompilerWamingJ5O2l.. . . CompilerWamingJ5022.. . . CompilerWamingJ5023.. . . rsii Prograrnmer'sGuide ... 1g ... ,t(t . .. 465 ... 46 ... 46 . .. 46J . . . +o/ ...468 , .. 468 , .. 469 .. 4'10 .. 470 . . 471 . . 471 . . 4 ' 7| .. 472 .. 4'13 .. 473 .. 474 .. 474 . . 475 . . 475 . . 475 .. 476 .. 476 .. 476 .. 476 .. 477 .. 477 T] T} Tt TI TI Ct C App at h br b' ci ci c c c d d d d e e f f .. .. .. .. .. .. .. 4',78 478 479 479 479 480 480 f f t i I i WamingJ5024.... Compiler WamingJ5500.... Compiler COM RegistationErors (VisualJ++)' WindowsEXE/COM DLL PackagingEnors (Visual J++)' ' ' . . . . 480 480 481 482 . 485 The #if, #elif, #else,and#endif ConditionalDirectives ' The #define ConditionalDirectlve. The #undef ConditionalDirective . The #error ConditionalDirective The #warning ConditionalDirective ConditionalMethods'. . . . . . . .. . . ConditionalDirectives. (Keywotds) Words C Reserved Appendix . . . ,. .. .. 486 487 488 489 489 490 .. 49r .. 493 .. 493 .. 494 .. 494 .. 495 .. 495 .. 496 .. 496 .. 496 .. 49"t .. 498 .. 498 .. 499 .. 499 ,. . 500 ...500 ... 501 ... 501 ... 501 ...502 ... 502 ... 502 ... 503 -.. 503 hogrammer's Guide xxiii Contents t €r hr ?l[c htcr Fd ir ftoF Vi$r odi Oocc . U D AI . U d, v, 5t . xxiv Prog&mmer'sGuide U