Um in einer Anwendung das IMS System benützen zu können, sind folgende Schritte nötig:
Um die Schritte konkret zu demonstrieren, wird ein 'Hello World' Programm mit dem IMS realisiert. Das Programm zeigt beim Start einfach die Nachricht 'Hello World':
Das SDK enthält dazu das Utility 'imgenapptype.exe'. Das Programm wird über die Konsole aufgerufen und liefert den neuen Anwendungstyp. In diesem konkreten Beispiel ist der Anwendungstyp 'ac2bf570-2c16-11d1-83b8-204c4f4f5020'
WICHTIG: Werden die Nachrichten eines bereits ausgelieferten Programms verändert, muß auch ein neuer Anwendungstyp generiert werden! Damit wird die Konsistenz einer bestehenden Installation gewährleistet.
Die Nachrichtendefinitionsdatei wird mit einem ASCII-Editor geschrieben und anschließend mit dem Compiler 'imcompiler.exe' übersetzt. Der vorher generierte Anwendungstyp muß in diese Datei eingesetzt werden. In diesem Beispiel wird nur eine Nachricht benötigt: 'Hello World!'. Wir stellen diese Nachricht in Englisch und Deutsch zur Verfügung.
IMDF "HelloWorld" Version
100
AppType "ac2bf570-2c16-11d1-83b8-204c4f4f5020".
Begin
Message 1 Detail 0
Class INFORMATION
C_ID "IMS_MSG_HELLOWORLD"
GERMAN.HEADING "Eine Nachricht vom IMS"
GERMAN.TEXT "Hello World!"
GERMAN.AUDIO_WAV "helloworld_german.wav"
ENGLISH.HEADING "A message from IMS"
ENGLISH.TEXT "Hello World!"
ENGLISH.AUDIO_WAV "helloworld_english.wav"
End.
Dieser Text wird in einer Datei namens 'helloworld.ims' gespeichert. Die Audiodateien 'helloworld_german.wav' und 'helloworld_english.wav' müssen sich im selben Verzeichnis befinden. Der Compiler wird anschließend mit folgender Kommandozeile gestartet:
imcompiler helloworld.ims
Der Compiler erzeugt eine Datei 'helloworld.imf' mit den Nachrichten und eine Datei 'HelloWorld.h' mit den nötigen Definitionen für ein C-Programm.
In diesem Beispiel wird ein einfaches Win32-Konsolen Programm verwendet. Der folgende Quelltext ruft die 'Hello World' Nachricht auf.
#include <windows.h>
#include <ims.h>
#include <HelloWorld.h>
void main()
{
::IMShowMessage( NULL, pszIMAppType, NULL,
IMS_MSG_HELLOWORLD, NULL );
}
Die einfachste Möglichkeit ist die 'IMShowMessage'-Funktion. 'pszIMAppType' wird in der 'HelloWorld.h' Datei deklariert, die vom IMS Compiler erzeugt wird. 'IMS_MSG_HELLOWORLD' ist auch in dieser Header-Datei definiert. Ist mehr Flexibilität gewünscht, können auch die Funktionen 'IMShowMessageEx' und 'IMProcessMessage' zur Nachrichtenanzeige verwendet werden.
Das IMS-SDK enthält nicht die erforderlichen Programme, um Windows Programme zu entwickeln. Dazu sind z.B. Produkte von Microsoft (Visual C++) oder Borland (Borland C++ oder Borland C++ Builder) zu verwenden.
Bevor die Anwendung auf der Zielplattform den IMS benutzen kann, muß sie sich und die Nachrichten registrieren. Dazu ist Funktion 'IMInstallApplication' vorhanden. Diese Funktion wird normalerweise vom Installationsprogramm aufgerufen.
In diesem Beispiel müßten die Nachrichten mit folgendem Aufruf installiert werden:
::IMInstallApplication( NULL, pszIMAppType, "Hello World", NULL, "helloworld.imf" );
'pszIMAppType' ist wieder in der Datei 'HelloWorld.h' definiert. 'Hello World' ist der Anwendungsname. Der Name der Nachrichtendatei wird ebenfalls übergeben. Die Funktion liest die Nachrichten aus dieser Datei und installiert diese in der Datenbank.
Damit die Anwendung die API-Befehle verwenden kann, benötigt diese folgende sechs DLL's des IMS-Systems (werden mit dem SDK installiert):