Presentation is loading. Please wait.

Presentation is loading. Please wait.

Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved. Advanced ArcObjects Component Development II (C++)

Similar presentations


Presentation on theme: "Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved. Advanced ArcObjects Component Development II (C++)"— Presentation transcript:

1 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved. Advanced ArcObjects Component Development II (C++)

2 Copyright © 2002 ESRI. All rights reserved. 1-2 Welcome Instructor introduction Student introductions Name Organization Role in organization Programming experience VB, VC++ (ATL and MFC) Goals and expectations for this class Prerequisites AACD I, VC++, MFC, ATL Advanced ArcObjects Component Development II (C++)

3 Copyright © 2002 ESRI. All rights reserved. 1-3 Quick questionnaire How many people have: Written implementations of ICommand or IExtension ? Used ArcObjects Online, developer help, OMDs, Exploring AO? Used smart types (smart pointers)? Understand smart types? Used source-sinks for outbound interfaces in VC++? Written ArcObjects-ATL components? Written geodatabase extensions? Used aggregation to write custom features for the geodatabase?

4 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved. 1-4 Logistics Daily schedule Start _______________ Lunch_______________ Finish_______________ Facilities Refreshments and break area Restrooms Telephones and messages Internet access Student ID badges Parking

5 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved. 1-5 Course materials Books Lecture Exercise CDs Course data Online course evaluation Course Identification Number: _______________ Software evaluation enhancement requests to product teams

6 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved. 1-6 Course timeline Product review Development directions C++/COM review ATL applications Advanced ATL Geodatabase customization MFC applications

7 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved. 1-7 Course objectives Write ArcObjects applications with VC++ Build on concepts introduced in Advanced ArcObjects Component Development I (AACD I) Understand multi-component integration Learn more about the ArcObjects development framework Ask questions and participate in discussions

8 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved. 1-8 ArcGIS overview Data ArcGIS Server ArcIMS Personal geodatabase ArcSDE RDBMS server Web server Enterprise geodatabase ImageCoverageGrid ShapefileTINCAD Web browser ArcInfo ArcEditor ArcView ArcMap ArcCatalog ArcToolbox Workstation Extensions

9 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved. 1-9

10 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved. 1-10

11 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved GIS in the enterprise Web browser ArcReader ArcView 8 & ArcView 3 ArcEditor & ArcPad ArcInfo ArcSDE & ArcIMS Internet-based map viewing Desktop-based map viewing General analysis and visualization Data editing and maintenance Advanced modeling and analysis Data management and distribution Extensions Number of users Developer interface

12 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved. 1-12

13 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved Database Design / Development Geodatabase Design Concepts i Learning paths Proficiency Learning ArcGIS II: Presenting information W Introduction to ArcGIS II i Foundation Learning ArcGIS I W Introduction to ArcGIS I i Creating, Editing, and Managing Geodatabases W Creating and Managing Geodatabases i Extensions Customization / Programming Introduction to Visual Basic for ESRI software W Introduction to Programming ArcObjects with VBA i (more) Advanced ArcObjects Component Development I i Advanced ArcObjects Component Development II i

14 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved Online Support Center is gateway to resources Downloads Software upgrades Technical papers ArcScripts User-to-user resources Discussion forums lists Technical archives Knowledge base Documentation System requirements Software support resources ESRI Technical Support Request support online Find phone and fax numbers Available to support subscribers

15 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved. 1-15

16 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved ArcObjects: The foundation Development platform for all ArcGIS applications Three main products: ArcInfo, ArcEditor, and ArcView Applications: ArcMap, ArcCatalog, ArcToolbox, ArcScene Application extensions: 3D Analyst, ArcPress… Available license controls the objects that are available No reinstall required Developers use ArcObjects to write custom COM objects to extend and customize applications

17 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved Development triangle Recommended progression Start here Embedding ArcObjects Stand-alone applications Custom features and workspaces Custom layers and renderers Document persistence Windows Property pagesViews Geodatabase class extensions Application extensions Editor tools Commands Buttons Tools Menus Toolbars VBA Macros and UIControls Map Control Difficulty of implementation

18 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved ArcObjects development with VBA Learning ArcObjects: Many samples, help system Prototyping, testing, and exploring ArcObjects API For relatively simple application extensions Distribute functionality in an MXD or MXT format Free

19 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved ArcObjects development with VB Everything possible in VBA Implement interfaces and create custom components Obtain more advanced functionality and extensions Encapsulates COM programming details Very easy to use and fast to write prototypes Many samples Hide code in binary DLLs

20 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved ArcObjects development with VC++ Everything possible in VB and VBA More advanced components and extensions options Implement every interface, even those supporting inheritance Other considerations Rich Object Oriented development environment (inheritance) Better debugging environment (no problems like VB 6) Control type library names and GUIDs explicitly Explicit control of COM server design (e.g., custom marshaling) Considered standard for large-scaled software development projects

21 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved Which development environment to use? Reasons you should avoid using VB Advanced component implementation or interface inheritance Interface members contain IUnknown * argument types Application requires aggregation VB hides implementation details: Is that really bad? Performance concerns? VC++: Fastest VB: Approximately 2% slower VBA: Approximately 4% slower VB versus VC++ development time? Depends on experience level

22 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved Exercise 1 overview Install the class data Determine the installation directory for ArcMap Explore the class materials: Data, exercises… Set Visual Studio file paths for: esriCore.olb ArcCATIDs.h

23 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved Review What is ArcObjects? What are three main ArcGIS products? What are the two main levels of customization? What is the best development language to use? What is the most important developer resource? What is the purpose of IExtensionConfig ?

24 Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved. 1-24


Download ppt "Advanced ArcObjects Component Development II (C++) Copyright © 2002 ESRI. All rights reserved. Advanced ArcObjects Component Development II (C++)"

Similar presentations


Ads by Google