Dialog Studio - importing mIRC dialog tables

            READ ALL OF THIS BEFORE SENDING BUG REPORTS!!!

When importing, please take note of these considerations:

1. First off, I will start by saying that this process is not and will never be
   perfect.  There are limitations, mainly because mIRC supports %vars and $ids
   (somewhat) in dialog tables and without having access to these values, I can
   never perfectly replicate what a dialog looks like in mIRC.  For most things,
   that information is not needed.  However, in situations like this:
  
   size %x %y %w %h
  
   ... I can't know the size and position of this dialog.  If you try to import
   dialogs like this, Dialog Studio will use default values and you will have to
   put in your own values after your import.
   
   I could somewhat get around this using DDE or memory-mapped files, but this
   would be quite a hassle for a method that is not 100% reliable (as it would
   only work if you are importing dialogs WHILE running the mIRC and script that
   the dialog table belongs to.)  I, personally, haven't had any problems with
   any dialogs I've tested.  If you use MDX's resizable dialogs and put %vars or
   $ids in the "size ..." line, you may try moving that to the init section and
   using default values in the "size ..." part of the table.
   
2. IF THE DIALOG DOES NOT WORK IN MIRC, DO NOT EXPECT IT TO WORK IN DIALOG
   STUDIO EITHER.  I know as soon as I release this, I'm going to get a lot of
   "bug reports" saying the dialog won't import properly.  If you send me a bug
   report and I attempt to load the dialog table in mIRC and I get an error
   there, I will just send the bug report back to you.
   
3. THE DIALOG TABLE *MIGHT* WORK IN DIALOG STUDIO BUT NOT IN MIRC.  Like I said
   earlier, I can't possibly reproduce results exactly like mIRC, as I didn't
   write mIRC's parser.  So, there may be cases when a dialog table that doesn't
   work in mIRC, works in Dialog Studio.  If it does, Dialog Studio will produce
   code that *should* work fine in mIRC, but the results may be unpredictable.
   
4. If your code is non-standard, you may tweak it a bit to get it to import
   properly.  I have tried to support all types of coding that are supported by
   mIRC, but mIRC supports such ambigious dialog table format (especially icons)
   that it is impossible for me to perfectly replicate mIRC's support.  For the
   most part, if you have standard dialogs, you should be fine.

5. If there is an error in the table (such as "abc" for a height parameter),
   Dialog Studio will notify you of the error and skip the offending control.
   
6. When you import a table, controls that are added have the "Use ID" property
   automatically set to true.  This is to make sure that the current ID values
   are messed up, since you most likely have code already written for these
   corresponding IDs.
      
   

Limitations/Known bugs/Unknown bugs:

1. Mentioned earlier, when %vars or $ids are used, it won't always work, most
   notably in the "size" parameter.
   
2. Currently you can't import tables that have %vars or $ids as ID numbers. This
   will be supported in a future version, but it will require a big change to
   Dialog Studio internally.  I'll get to it soon enough.

3. If the text property of a control has a carriage return in it, Dialog Studio
   will break that up and treat it as two lines.  The current routine I'm using
   for loading lines is just a generic one, compatible with Windows and Unix,
   and Unix has no CRLF, just a CR to separate lines.



Making your tables Dialog Studio import friendly:

1. DON'T USE %VARS OR $IDS FOR SIZE PARAMETERS!

2. DON'T USE %VARS OR $IDS FOR SIZE PARAMETERS!

3. DON'T USE %VARS OR $IDS FOR SIZE PARAMETERS!

4. DON'T USE %VARS OR $IDS AT ALL IN YOUR DIALOGS!  THEY SUCK!  Well, maybe not
   for the text parameter, BUT FOR EVERYTHING ELSE!  *roar*
   
   
With all that said, I am accepting bug reports, especially since this is an
early beta.  If you have a dialog table that loads properly in mIRC but not in
Dialog Studio, please email me the dialog table and instructions on how to
reproduce the problem (if needed.)