Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>I've built an outlook add-in using Delphi (integrating a room reservation system into the appointment form).</p> <p>Some advice:</p> <ul> <li>Buy and use <a href="http://www.add-in-express.com/" rel="nofollow noreferrer">add-in express</a>. It will save you a lot of time, and it allows you to build COM add-ins that don't require any third-party components at installation time. We tried building our own component first, and although we managed to put buttons on forms that did something, the amount of time spent was disproportionate to the result. </li> <li>Use the add-in express support service when in doubt. They know their stuff.</li> <li>The COM interface for outlook (found in the delphi/ocx/servers/ folder) is your friend. Add-In Express merely provides a (much) more convenient wrapper around this functionality.</li> </ul> <p>Things to avoid:</p> <ul> <li>Straight MAPI calls. It can be done, and in fact I had to resort to it for modifying message streams in transit, but it's a real PITA to work with and very poorly documented.</li> <li>One-off forms. We wasted a lot of time trying to get one-off forms to work. Only use published forms. You can publish a form to the local folder from code, so in practice this is not a big deal. Even better is to use form regions, which is the most robust way of extending forms.</li> <li>Pretending like COM in Delphi is anything like normal VCL programming. My advice if you don't have COM experience is to read any and all documentation you can get your hands on. Some hard-learned lessons were to always set variables to nil before the end of a function so objects could get freed correctly by outlook, and to always request the appropriate interface from an object instead of trying to cast it.</li> </ul>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
    3. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload