software preview: TMultiLang


 
Go
Introduction
Screen Shots
More Screens
Download
Architecture
FAQ
Order Info
Testimonials
Translators
Contact
  TMultiLang for Delphi 6 and 7 comes in two packages - a designtime and a runtime package. This architectural change was necessary because of changes in the VCL.
Delphi 2 did not have a concept of (designtime and runtime) packages. Therefore older versions of TMultiLang simulated this architecture with a DLL that is only used during design time. This DLL architecture is used in all versions of TMultiLang up to the one for Delphi 5.

class structure of TMultiLang

This is how the class structure of the tool TMultiLang looks like.
The abstract base class TBaseMultiLang is defined in unit MLBase. It contains some virtual functions, which will be overridden by the derived class TMultiLang. The add-in expert MultiLangExpert.dll uses the base class only, but calls the virtual functions and therefore your potentially adapted code.

Consequences:

  • The property editor and the add-in expert communicate with your instances of TMultiLang (or derived classes of TMultiLang).
  • Since they reside in a DLL and long strings are passed through classes,
    the property editor needs the DLL "Delphimm.DLL".
  • Since your deployed application will not call the property editor,
    you do not need to ship the "Delphimm.DLL"
  • More information about this is available in Delphi: create a DLL by menu items "File | New | DLL"
What are the advantages?
  • The property editor is in the DLL MultiLangExpert.dll and will definitively not be shipped with your application.
    The footprint of TMultiLang is smaller.
  • The project manager is not included in your application for the same reason.
  • You can create several classes derived from TMultiLang, e.g.
    • class TMiniMultiLang, which does not support database and quickreport functionality and is extremely small
    • class TMedMultiLang, contains e.g. database support, but not QuickReports or Win32 controls
    • class TMyMultiLang, contains support for my own classes

    The add-in expert will use your code and your application will contain only those units, that are included in your used version(s) of TMultiLang (TMyMultiLang, TMiniMultiLang etc.).


© Copyright 1996-2003. All rights reserved. Contact: Peter Tiemann