ID: Q107698
- Microsoft Windows NT, versions 3.5, 3.51
- Microsoft Windows 95
MultLing.exe demonstrates how to create an OLE automation object that supports multiple languages. This allows the controller of an automation object to access properties and methods using any of the languages that are supported.
The following file is available for download from the Microsoft Software Library:
~ MultLing.exe (size: 29766 bytes)
For more information about downloading files from the Microsoft Software
Library, please see the following article in the Microsoft Knowledge Base:
ARTICLE-ID: Q119591
TITLE : How to Obtain Microsoft Support Files from Online Services
This multilingual OLE automation object sample checks the Locale ID (LCID)
passed methods of the IDispatch interface to determine the language being
used by the automation controller. The object supports access of properties
and methods in English, French, and German.
The automation object registers three different type libraries in the registration database--one for each supported language. The type libraries have the same UUIDs but different locale attributes. Each type library is loaded at object creation and the ITypeInfo interface is obtained from each as follows (see LoadTypeInfo in MAIN.CPP):
LoadRegTypeLib(LIBID_Hello, 1, 0, lcid, &ptlib);
ptlib->GetTypeInfoOfGuid(IID_IHello, &ptinfo);
Also see ENGLISH.ODL, FRENCH.ODL, GERMAN.ODL, and HELLO.REG.
The implementation of IDispatch::GetTypeInfo, GetIDsOfNames, and Invoke checks the value of the lcid parameter to determine the locale ID and uses the appropriate ITypeInfo for that language (See CHello::GetTypeInfo, GetIDsOfNames, and Invoke in HELLO.CPP).
The multilingual automation object exposes one VT_BSTR property (HelloMessage) and one method (SayHello).
ProgID : HelloMultiLingual.Hello
Method and Property Names:
English French German Action
HelloMessage SalutMessage HalloNachricht Sets or gets the
HelloMessage string.
SayHello DitSalut SagHallo Displays the HelloMessage
in an edit control.
Use the AUTOCTRL sample to control the multilingual automation object. The
AUTOCTRL automation controller allows the locale ID to be specified.
Update the path in HELLO.REG to the current location of the object and the type libraries.
Requires OLE 2.01 or later.
Include device=vmb.386 in the [386Enh] section of SYSTEM.INI. Note that vmb.386 can be found in \OLE2\BIN. Run the WXSERVER.EXE from \OLE2\BIN before running the makefile.
Additional query words: multi-lingual Keywords : kbfile kbsample kbAutomation kbNTOS350 kbNTOS351 kbOLE200 kbWinOS95
Last Reviewed: December 11, 1998