VCLINK32 NOTE: You should never need to rebuild VCLINK32.LIB as we will make new releases available as needed. The CPP files are included in this zip file for those who wish to dynamically link to the DLL through LoadLibrary and GetProcAddress. Important for v3.0.1: This version of VCLINK32.DLL was updated after the release of Visual CADD v3.0.0 and should replace the one shipped with v3.0.0. If not replaced, any code you write using the new v3 function calls will not work. Overview Visual CADD is written in Borland C. MS Visual C++ 2.0 or higher will not interpret functions exported from Borland DLL. Since Visual CADD is written with Borland C++ the API is not accessible directly by developers utilizing Visual C++. In order to remedy this problem an intermediate file is required to map the API to a format readable by the MS compiler. VCLINK32.DLL does this task. A version was shipped with the release of Visual CADD 3.0 but did not include the new API calls written for v3. DETAILS In order to access the Visual CADD API from MS Visual C++ by implicitly linking, an intermediate file written and compiled in MS Visual C++ is required. This file, VCLINK32.DLL, simply calls a LoadLibrary function on each Visual CADD API routine. This allows an application to access the API without specifically calling a LoadLibrary function each time a routine is called. You link to the VCLINK32.DLL file by using the enclosed VCLINK32.LIB. Please note that although a VCLINK32.DLL shipped with v3.0 of Visual CADD, the new API and new calls are not supported by that DLL. You need to ship this new 3.0.1 version of VCLink32.DLL with your application to make certain that your end users can utilize any new routines you include in your code. As new versions and updates of Visual CADD are released, the API will expand in functionality. In order to access the new routines an application will need to update the VCLINK32.LIB file to correspond with the new release. NOTE: When building an application in MS Visual C++ the project setting (C++/Code Generation/Calling Convension) must be changed to _stdcall. The default calling method is _cdecl. Files: VCLINK32.DLL VCLINK32.LIB VCLINKMS.LIB : Used in MSVC++ samples VCLINKBC.LIB : Used in Borland C++ samples VCDLG32.CPP VCMAIN32.CPP VCTOOL32.CPP VCTRAN32.CPP VCMAIN32.H VCTRAN32.H VCDLG32.H VCTOOL32.H 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 ----------------------- -VCLINK32.DLL: If you are using Visual CADD v3.0.1, this file should replace the one that shipped with 3.0.0. -VCLINK32.LIB: This lib file is built with the MS Visual C++ compiler and intended for MSVC++ apps ONLY. -VCLINKMS.LIB: This lib file is a renamed copy of VCLINK32.LIB. -VCLINKBC.LIB: This lib file was created by "ImpLib-ing" VCLINK32.DLL to create a Borland formatted equivalent of VCLINK32.LIB. For Borland C++ apps ONLY. To recreate this file, use Borlands Implib.exe utility. >From the dos prompt type: implib vclinkbc.lib vclink32.dll NOTE: BE CAREFUL! Reversing the implib parameters destroys the DLL, trust me. -CPP Files: Including the CPP files directly in your project is another way for MSVC++ apps to gain access to Visual CADD DLL functions, and eliminates the need for the end user to have a current VCLink32.DLL in their systems folder. Use the "Dlldlg" project under "Mfcsmpls" as an example. -H Files: C/C++ header files. systems folder. Use the "Dlldlg" project under "Mfcsmpls" as an example. -H Files: C/C++ header files.