OVERVIEW of 3.0.1 C/C++ SDK 8/17/1999 In addition to brand new calls and routines introduced with this 3.0.1 version of the API, several 'BP' routines have been added to existing calls. VCLINK32.DLL A C++ project may access the Visual CADD DLLs in one of two ways: implicit or explicit linking. With implicit linking, the C++ project uses header files (*.h) to provide function prototypes of the external functions and links a LIB file to resolve those external functions into the respective external DLL. The VCLink32.DLL provides the interface to the Visual CADD DLLs when using implicit linking. To support implicit linking, the C++ SDK includes the necessary header files, VCLink32.DLL, and two LIB files, VCLinkMS.LIB (for Microsoft C++) and VCLinkBC.LIB (for Borland C++). These two LIB files are required by most of the IMSI code samples at www.VcaddToday.com. Other samples (the tutorials located on www.visualcadd.org, for example) may use a file named VCLink32.LIB. If you require the VCLink32.LIB file for any reason, simply make a copy of the VCLinkMS.LIB file and rename it to VCLink32.LIB. Content is exactly the same. When using implicit linking, the developer is responsible for ensuring that the end-user has the up-to-date VCLink32.DLL when their product is distributed. The updated VCLink32.DLL shipped with this C++ SDK was not shipped with the end-user Visual CADD v3.0.1 patch. With explicit linking, the C++ project uses calls to the Win32 API functions of LoadLibrary, GetProcAddress, and FreeLibrary, to load the Visual CADD DLLs and make explicit calls to the functions contained therein. Neither VCLink32.DLL nor the LIB files are required for this approach. However, the source code implementation of the required Win32 API function calls is required. If a developer wants to use explicit linking, he should download the VCLink32.zip SDK project, which contains the necessary source code implementation (the .cpp files) for explicit linking. This project also allows the developer to modify or customize VCLink32.DLL, if desired. THE CmdID and DlgID FILES The files CmdID.h and DlgID.h define constants used internally by Visual CADD. Most of these constants are related to the tool ID or dialog ID numbers associated with VCADD tools and dialogs and the resource IDs of dialog controls. The tool or dialog IDs are returned by various VCADD API functions, such as VCGetToolID, and these constants can be used to identify the values returned. Also, certain Win32 API functions related to dialogs pass or return dialog control resource IDs, such as GetDlgItem, and these constants can be used to identify the control. ALERTS.TXT Alerts.txt is a text file containing function prototypes for all of the developer-defined callback functions required by VCSetAlertAppDllEx. The file is written in the form of a C++ header file (*.h) which the developer may copy-and-paste into a C++ project to define and customize his own callback functions. In addition, comment statements in the file make the file readable as a standard readme.txt file and provide descriptions of parameters, return values, how and when they are called by Visual CADD, etc. Thus, Alerts.txt supplements the information contained in the API Help file. LISTING OF NEW CALLS //additions to VCMain32.DLL (vcmain32.h) VCGetDisplayPointString VCGetDisplayAngleString VCGetDisplayLengthString VCGetSelectionCount VCGetCommandString VCSetCurrWorldByHWND VCFirstWorld VCNextWorld VCOnActivateView VCScreenToWorld2D VCScrollStart VCScrollEnd VCOnScroll VCOnTimerRunningSnap VCLayerSelect VCSetCursorEx VCGetTextUseTextLayer VCSetTextUseTextLayer VCGetProgramPath VCGetManualEntryMode VCApplyLayerGroupByIndex VCApplyLayerGroupByName VCGetLayerGroupName VCGetLayerGroupIndex VCGetLayerGroupCount VCAddLayerGroup VCDeleteLayerGroup VCGetLayerGroupLayer VCSetLayerGroupLayer VCGetLayerPrintable VCSetLayerPrintable //additions to VCDlg32.DLL (vcdlg32.h) VCGetDialogFromId //additions to VCTool32.DLL (VCTool32.h) VCCopyToLayer VCDestroyContextMenu VCGetCurrentToolContextMenu VCMergePolygonsTool VCMoveToLayer VCSplitPolygonTool //additions to VCLink32.DLL (VCLink32.h) VCCreateSymbolFromSelectionBP VCDigPointBP VCGetDatumBasePtBP VCMouseMoveWorldPointBP VCPaintBP VCScreenToWorld2DBP VCSetDatumBasePtBP VCSetScaleXYBP VCSetSymScaleBP aintBP VCScreenToWorld2DBP VCSetDatumBasePtBP VCSetScaleXYBP VCSetSymScaleBP