home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1998 April / DPPCPRO0498.ISO / April / MathCad / SETUP / DATA.Z / README.TXT < prev    next >
Encoding:
Text File  |  1997-06-05  |  5.2 KB  |  109 lines

  1. README FILE FOR BUILDING A USER DLL FOR MATHCAD 7 PROFESSIONAL
  2.  
  3. Please read the Appendix in the Mathcad User's Guide on how to 
  4. build user DLLs. In the following readme file we discuss issues, 
  5. including compiler-specific ones, which are not addressed in the 
  6. User's Guide. For purposes of this discussion we assume that you have 
  7. installed Mathcad in the directory C:\WINMCAD. If this is not true (for
  8. example, if you accepted the default Mathcad 7 Professional 
  9. installation directory C:\PROGRAM FILES\MATHSOFT\MATHCAD), then
  10. please substitute the correct path wherever C:\WINMCAD appears.
  11.  
  12. 1. Loading of User DLLs
  13.  
  14. Every time you start Mathcad Profesional it loads by default any user 
  15. DLLs that might exist in the USEREFI directory under Mathcad's 
  16. home directory, e.g. C:\WINMCAD\USEREFI. So please remember that 
  17. once you build a DLL, you have to place it in the USEREFI 
  18. directory before you start Mathcad. Once you start Mathcad, to 
  19. check if your DLL has been successfully loaded you can use the 
  20. Function command on the Insert menu to see if your user-defined
  21. function(s) is listed. If not, then either the DLL was not placed
  22. in the USEREFI directory or there was a problem loading the functions.
  23.  
  24. 2. Supported Compilers
  25.  
  26. To build a user DLL for Mathcad Professional, you need a compiler
  27. capable of building Windows NT or compatible DLLs. We have tested the 
  28. following compilers:
  29.  
  30.         *  Microsoft C/C++ compilers (Win32 SDK, Visual C++ [32s
  31.            Version], Visual C++ for NT, Visual C++ for Windows 95)
  32.  
  33.         *  Borland C/C++ 4.0 and 4.5
  34.  
  35.         *  Symantec C/C++ 6.0 and 7.0
  36.  
  37.         *  Watcom C/C++ 9.5 and 10.0
  38.  
  39. Please note that later versions of these compilers *may not* 
  40. be supported.
  41.  
  42. 3. Writing Your DLL Source Code       
  43.  
  44. Under the subdirectory C:\WINMCAD\USEREFI you will find four 
  45. subdirectories named MICROSFT, BORLAND, SYMANTEC, and 
  46. WATCOM. In each directory there are three subdirectories, named 
  47. INCLUDE, LIB, and, SOURCES. The WATCOM directory does not have 
  48. a LIB subdirectory.
  49.  
  50. To build a user DLL you need to use the include file MCADINCL.H 
  51. and, except for Watcom, you need to link with the import library 
  52. MCADUSER.LIB. These two files are provided in the subdirectories 
  53. INCLUDE and LIB, respectively, for each compiler.
  54.  
  55. The SOURCES subdirectory includes examples of source code for 
  56. three different user DLLs. Each example is in its own directory. 
  57. The examples are CMPLXSUM, SIMPLE, and USERPACK. SIMPLE for Microsoft 
  58. is the one covered in the User's Guide. For each example there are also 
  59. compiler-specific project or batch files included to be used to build 
  60. the DLL. You may need to edit these if your Mathcad home directory 
  61. path is not C:\WINMCAD.
  62.  
  63. The best approach to beginning a new user DLL for Mathcad is to start 
  64. with one of the samples in the directory for your compiler and build it 
  65. using the provided project files. Then you should modify the sample 
  66. by adding your own functions. This involves defining the functions, 
  67. creating error messages, registering the error messages and registering
  68. the functions. If your code is in C++ you must declare your functions 
  69. using the C language calling convention. You can do this by using 
  70. extern "C" before your function declarations.
  71.  
  72. If you have trouble building the sample projects, then consult the 
  73. README file in the directory for your compiler. If you have installed 
  74. Mathcad in a directory other than C:\WINMCAD you may have to 
  75. modify the project files. The main thing is to make sure the compiler 
  76. search path for include files includes the INCLUDE subdirectory for 
  77. your compiler under the USEREFI subdirectory. Also, except for 
  78. Watcom, make sure the linker can find the import library file 
  79. MCADUSER.LIB in the LIB subdirectory for your compiler. If after 
  80. reading the readme file you still have trouble building the sample 
  81. project or a modified version of it, then read the following general 
  82. comments regarding compiler-specific issues.
  83.  
  84. 4. General Comments for Compiling and Linking
  85.  
  86.         *  Make sure the compiler-specific include file MCADINCL.H 
  87.            is in the compiler's include files search path.
  88.  
  89.         *  Use 4-byte or 8-byte alignment for the compiler.
  90.  
  91.         *  You need to link your DLL to the DLL called MCADUSER.DLL.  
  92.            You can do this on demand as in the Watcom samples or by 
  93.            generating an import library and linking with it as in   
  94.            the samples for the other three compilers.  
  95.  
  96.         *  Each Mathcad user DLL needs to have a DLL initialization 
  97.            function. This function, which is called a DLL entry point, 
  98.            has to be specified to the linker. This is done differently  
  99.            by different linkers. Some force you to call it a special 
  100.            name like DllEntryPoint or LibMain; some allow you to 
  101.            call it anything you want, but you must then declare the 
  102.            name either in a linker directive or by a pragma directive. 
  103.  
  104.         *  If your DLL uses C runtime libraries you may have to 
  105.            arrange for its initialization whenever the DLL entry
  106.            point is called. Different compilers do this differently.
  107.  
  108. 06/05/97
  109.