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

Similar documents