External Application Integration
Below are the Add-Ons that are available from the Multi-Edit installer to interface to external programs.
Borland/CodeGear IDE Integration
The Borland IDE integration package allows you to switch back and forth between Multi-Edit and a Borland IDE, and have both environments reflect any editing changes. It also makes a Borland menu available in Multi-Edit, which allows you to launch Borland IDE commands (like Compile) directly from Multi-Edit. Currently supported IDEs are:
- Delphi 1
- Delphi 2-7
- C++Builder 1
- C++Builder 3-6
- Delphi for .NET 8
- Delphi 2005
- Delphi/C++Builder 2006
- RadStudio 2007
For Delphi 2 or later and all C++Builder versions, IDE projects can be synchronized with Multi-Edit sessions.
Delphi 1.0
The Delphi 1.0 integration is much more primitive than the Delphi 2.0 (and above) and C++ Builder integrations. This is due to the very limited API that was exposed with Delphi 1.0. It works by saving all changed files whenever Delphi is deactivated and then, upon reactivation, checking for changes to the time/date stamps of those files and reloading the ones that have changed.
A special DLL expert (MEWEXPT.DLL) is installed in Delphi 1.0 that causes it to save files when task switching, and to check for files that need to be refreshed upon switching back. The DLL also lets you set a hotkey to switch quickly back and forth. If you use the hotkey, or the Tools | Multi-Edit menu entry (in the Delphi IDE) to switch from Delphi to Multi-Edit, then Multi-Edit will automatically go to the correct file and cursor position. This synchronization process allows full compatibility with the Delphi “two-way tool” concept.
The installation process will modify the DELPHI.INI file to load MEWEXPT.DLL (the integration DLL) and create the Multi-Edit menu entry in the Delphi Tools menu.
You can configure the Delphi 1.0 autosave as follows:
Off: No auto saving when switching tasks. This means that you will have to MANUALLY save and reload your files.
Whole Project: Every file that has been changed will be saved when switching out of the Delphi IDE. This includes units, forms, and other non-unit files.
Current file only: Only the currently active unit will be saved. The exception to this is if the currently active unit is the project file, in which case the ENTIRE project will be saved.
Limitations
Multi-Edit can synch its cursor position to Delphi's, but Delphi cannot synch its cursor to Multi-Edit. This is a limitation of the Delphi 1.0 IDE interface. In other words, when switching from Delphi to Multi-Edit, you can match Multi-Edit's cursor to Delphi's; however, when switching from Multi-Edit to Delphi, you cannot set Delphi's cursor the same as Multi-Edit's. This is only valid for Delphi 1.0.
Under Windows NT, if either Multi-Edit or Delphi is configured to run in “separate address space”, then you MUST start Multi-Edit from within Delphi (via the tools menu), or start Delphi from within Multi-Edit. If you start them both from the program manager, then the integration will not work, as neither program will be able to see the existence of the other.
If you use the Delphi IDE to create a new event, Delphi automatically adds a function prototype to the appropriate unit. However, if you do not add anything to that prototype (in other words, you leave it blank), then it will be stripped when the IDE saves the changes to the file. This is an attempt by the IDE to be “smart”. So far we have not found anyway around it except to just add something, even a single character, to the new function before switching to Multi-Edit.
Configuration Requirements
1. You MUST have “Save files when switching tasks” and “Reload when switching back” on in Multi-Edit. This is done from the Tools | Customize | Files | Backups | Temp files | Autosave dialog. You must also at least have “Determine changed file by” set to “Date/Time”. See Tools | Customize | Files | Backups | Temp Files | Autosave dialog box for information on these settings.
2. You must have “Network file locking” Off!!! This is because both Multi-Edit and Delphi must have full read/write access to the source files. See Tools | Customize | Files | Backups | Temp Files | Autosave dialog box for information.
3. If you are running under Windows NT, and you have either Multi-Edit or Delphi configured to “Run in separate memory space”, then you must start Multi-Edit from within Delphi, or start Delphi from within Multi-Edit. If you do not do this, than Multi-Edit and Delphi will not be able to communicate.
For Delphi 1.0 integration to work:
You MUST have “Save files when switching tasks” and “Reload when switching back” ON in Multi-Edit. This is done from the Tools | Customize | Files | Backups | Temp files | Autosave dialog. You must also at least have “Determine changed file by” set to “Date/Time”.
You MUST have “Network file locking” OFF!!! This is because both Multi-Edit and Delphi must have full read/write access to the source files.
If you are running under Windows NT, and you have either Multi-Edit or Delphi configured to “Run in separate memory space”, then you MUST start Multi-Edit from within Delphi, or start Delphi from within Multi-Edit. If you do not do this, than Multi-Edit and Delphi will not be able to communicate.
Delphi 2+, C++Builder and RadStudio 2007
The integration with Borland's 32-bit IDEs has become more sophisticated. Most of the limitations that exist with the 1.0 integration are gone. When switching back and forth between Multi-Edit and the IDE, the actual file is not modified on disk. Instead, a temp file is written, in which modifications are made.
In Multi-Edit, the file you are editing will appear to have the same path and name as the file in the IDE, but it will actually be accessed through the temporary file.
All of the settings are stored in the Registry under the “Software\Multi Edit Software\Multi-Edit\10.0\Addon” key.
The installation process will modify the Delphi registry entries to load a specific copy of MewEx32.dll and the C++Builder registry to load MewEx32C.DLL, and it will build a Multi-Edit menu entry in the IDE Tools menu.
Limitations:
Synching will not be active when debugging/running your application from the IDE.
Configuration Requirements
Microsoft Integration
What the Microsoft IDE integration package does is allow you to switch back and forth between Multi-Edit and a Microsoft IDE, and have both environments reflect any editing changes. It also makes available a Microsoft menu in Multi-Edit, which allows you to launch Microsoft IDE commands (like Compile) directly from Multi-Edit. Currently DevStudio 6.0, Visual Basic 6.0, Visual Studio .NET 2003 and Visual studio 2005 are supported.
Visual Studio .NET 2003/2005
When switching back and forth between Multi-Edit and VS.NET, the actual files are saved to disk on every switch. To keep VS.NET from prompting on switching back to it after a file was changed in Multi-Edit, the VS.NET “Tools | Options | Environment | Document options” “Auto load changes” should be enabled.
HKEY_CURRENT_USER\Software\Multi Edit Software\Multi-Edit\10.0\Addon
The specific Microsoft settings are stored under the “Microsoft” subkey of the above and the VS.NET specific settings are stored under the following subkeys of the above key.
“Microsoft\VisualStudio” “Microsoft\VisualStudio8”
The installation process will modify the VisualStudio registry entries to install the MeVsSync.dll Add-in, register the server in the MeVsSync.dll, and will then build a Multi-Edit menu entry for the Microsoft tools.
The “Load” option in the Multi-Edit “Microsoft→Configure” dialog just enables/disables the loading of the Add-in when VS.NET starts. The “Sync” option is used to enable/disable the syncing of the files between VS.NET and Multi-Edit. To remove the Add-in from VS.NET and unregister the server do the following:
1. Bring up the Manage Add-On Package dialog in Multi-Edit, Tools | Manage Add-On Packages…
2. Select Microsoft Integration in the package list.
3. Select the 'Disable' button.
To reinstall and reregister the server do the following:
1. Bring up the Manage Add-On Package dialog in Multi-Edit, Tools | Manage Add-On Packages…
2. Select Microsoft Integration in the package list.
3. Select the 'Enable' button.
DevStudio 6.0
When installed, a Microsoft subdirectory under Multi-Edit is created and all of the needed files are copied there. A Microsoft menu is also added in the Add-On menu for switching to one of the IDEs
HKEY_CURRENT_USER\Software\Multi Edit Software\Multi-Edit\10.0\Addon
The specific Microsoft settings are stored under the “Microsoft” subkey of the above and the DevStudio specific settings are stored under the subkey “Microsoft | Activate DevStudio” of the above key.
The installation process will modify.dll, and will then create a Multi-Edit menu entry for the Microsoft tools.
The “Enable” option in the Multi-Edit “Microsoft | Configure” dialog just enables/disables the loading of the AddIn when DevStudio the DevStudio registry entries to install the MeDsSync.dll AddIn, register the server in the MeDsSync starts. To remove the AddIn from DevStudio and unregister the server, do the following:
1. Bring up the Manage Add-On Package dialog in Multi-Edit, Tools | Manage Add-On Packages…
2. Select Microsoft Integration in the package list.
3. Select the Disable button.
To reinstall and reregister the server, do the following:
1. Bring up the Manage Add-On Package dialog in Multi-Edit, Tools | Manage Add-On Packages…
2. Select Microsoft Integration in the package list.
3. Select the Enable button.
Visual Basic 6.0
Visual Basic is rather limited in what can be done with the built-in editor, therefore the only thing that our integration does is to save and reload files when switching from/to VBasic. The cursor position will not be tracked between switching.
HKEY_CURRENT_USER\Software\Multi Edit Software\Multi-Edit\10.0\Addon
The specific Microsoft settings are stored under the “Microsoft” subkey of the above and the VBasic specific settings are stored under the subkey “Microsoft | Activate VBasic” of the above key.
The installation process will modify the VBasic registry entries to install the MeVbSync.dll AddIn and register the server in the MeVbSync.dll.
The “Enable” option in the Multi-Edit “Microsoft | Configure” dialog just enables/disables the loading of the AddIn when VBasic starts. To remove the AddIn from VBasic and unregister the server, do the following:
1. Bring up the Manage Add-On Package dialog in Multi-Edit, Tools | Manage Add-On Packages…
2. Select Microsoft Integration in the package list.
3. Select the Disable button.
To reinstall and reregister the server, do the following:
1. Bring up the Manage Add-On Package dialog in Multi-Edit, Tools | Manage Add-On Packages…
2. Select Microsoft Integration in the package list.
3. Select the Enable button.
Important requirements:
You MUST have “Network file locking” OFF!!! This is because both Multi-Edit and DevStudio must have full read/write access to the source files.
TopStyle (NewsGator Technologies)
When the TopStyle Add-On is installed and enabled, it will allow Multi-Edit to use the TopStyle CSS editor for editing external style sheet files, <style>…</style> blocks and <… style=”…”> attributes from within HTML files. This requires a copy of NewsGators’ TopStyle Lite to be installed on your computer, which is freely available from www.newsgator.com.
When editing HTML files in Multi-Edit, right clicking on a tag will bring up a context menu that has entries to show a dialog to enter data specific to the tag under the cursor. When the TopStyle Add-On is enabled, it will add a few more entries for the appropriate tags.
Right clicking on a <link … rel=“stylesheet” …> tag, will add an “Edit Linked Stylesheet…“ entry to the context menu. When this entry is selected, Multi-Edit will launch the TopStyle editor with the specified style sheet file.
Right clicking on a <style type=“text/css”> tag will add an “Edit Style Block…“ entry. Selecting this entry will cause Multi-Edit to block mark the text between the <style …></style> tags, start TopStyle Lite and pass the block of text to it. When the “Done” button in TopStyle is selected, the edited text will replace the marked text in Multi-Edit. When TopStyle is exited without hitting the Done button, the text in Multi-Edit will not be changed.
All tags that support the <… style=”…” > attribute will have a Style tab in the “Edit <tag> Tag…“ dialog which contains a Style entry. Selecting the ”…“ button following the Style text field will launch TopStyle Lite, passing it the contexts of the Style text field. Hitting the 'Done' button in TopStyle will cause the contexts of the Style text field to be replaced with the edited text.
CSE HTML Validator (AI Internet Solutions)
CSE HTML Validator integration – Support for CSE HTML Validator has been added as a Multi-Edit Add-On package. HTML Validator Pro can be found at http://www.htmlvalidator.com/.
This package allows HTML files to be validated using a user-installed copy of CSE HTML Validator.
When installed, the support macros are copied into a AddOns\CSEValidator subdirectory under Multi-Edit. Three new toolbar buttons are added to the “HTML Tools” toolbar, a compiler entry for HTML files is added, and an error processing record is added that will handle finding errors when validate is run.
The toolbar buttons are:
CseValidate: Configure
– This button brings up the CSE HTML Validator Configuration dialog.
CseValidate: SetOptions
– This button brings up the CSE HTML Validator Engine Options dialog.
CseValidate: Validate
– This button runs the CSE HTML Validator on the selected HTML file.
When the Validate button or the Validate compiler entry is selected, the Validator is run on the currently selected HTML file. All output from the validator will be shown in the Compiler Tools Pane and the normal error processing support is used to locate and display found errors.
More detailed information about each Add-On package can be found in the txt file contained in the package subdirectory.