MORE INFORMATION
The
following files are available for download from the Microsoft Download
Center:
MultLing.exe For additional information about how
to download Microsoft Support files, click the following article number to view
the article in the Microsoft Knowledge Base:
119591 How to Obtain Microsoft Support Files from Online Services
Microsoft scanned this file for viruses. Microsoft used the most
current virus-detection software that was available on the date that the file
was posted. The file is stored on security-enhanced servers that help to
prevent any unauthorized changes to the file.
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.
One Type Library Per Language
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.
Interpret LCID in IDispatch Methods
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).
To Run
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.
To Compile
Requires OLE 2.01 or later.
Include device=vmb.386 in
the [386Enh] section of SYSTEM.INI.
NOTE: vmb.386 can be found in \OLE2\BIN. Run the WXSERVER.EXE from
\OLE2\BIN before running the makefile.