![]() ![]() |
| Developer Zone |
Is Multilizer 6.2 showing your VCL components properly?
Multilizer allows visual editing of forms and menus of Delphi/C++Builder binaries. This document explains how visual editors work, and how to configure them. The document also explains why components are sometimes shown wrongly. How does Multilizer Visual Editor work?Multilizer internally works in the way that it detects VCL controls from their classnames that are found from the compiled form data. Multilizer looks up the classname from a mapping table, in order to know how to draw it in visual editor (wysiwyg) and which properties can be localized. Mappings are available for all standard controls that come with Delphi and C++Builder VCL. For instance TCheckBox is mapped to Multilizer's internal Check Box. This internal Check Box is used in Multilizer Visual Editor. How to see current mappings?All configured mappings are shown under Tools->Options...->Delphi and C++Builder->Components. By default this list is populated with VCL standard components. Users can configure more mappings for their specific controls. Mappings can be imported and exported, which enables team members share this information. Note however that all controls of a localization project are included in Multilizer project file. What if a control isn't mappedWhile scanning the application, Multilizer simultaneously checks the controls against the mapping table. If there are controls that are not mapped, Multilizer will show them with a yellow placeholder in visual editor. In addition Multilizer will ask user to map the control, in order to be able to process it in future.
Note! Although component isn't mapped the caption can be localized. This is due to the fact that Multilizer detected a string property and assumes it can be localized. (This leads to another important feature of mapping; user can tell Multilizer which properties mustn't be localized). When Multilizer encounters an unmapped control, it will ask user to map it. User may also have configured keywords to enforce automatic mapping; e.g., all classnames ending in 'Button' can automatically be mapped to Multilizer's internal button control. Mapping a control manuallyUser can map an unmapped control by right-clicking it in visual editor and selecting 'Map component...'. Following dialog shows mapping of the selected component; the internal representation of the component is Button and caption property is included for localization.
User can include and exclude any properties in localization. User can also exclude all string properties, or even exclude entire component from being localized. After mapping the components is shown as defined.
ConclusionsMapping is the way of showing your component correctly in Multilizer's visual editor. In addition to this, mapping enables users to localize the software systematically; user can define on component level which properties to localize and which not. This is an efficient way of avoiding localization of properties that are not intended for localization. As mapping is more than visual editing, user should always spend some time on it at project initialization. The time spent is paid back later. |
|
|
|||||