![]()
![]()
![]()
FlexCat-Quelltext in C++-Programmen =================================== Unter C++ ist alles dank einer geeigneten Klasse extrem einfach: Durch Konstruktoren und Destruktoren wird das meiste automatisch erledigt. Diese Klasse ist in den Dateien C++_CatalogF.cc und C++_CatalogF.h implementiert, die in CatalogF.cc und CatalogF.h umbenannt und übersetzt werden sollten. Ferner sollten mit Hilfe der Quelltextbeschreibungen C++_cc.sd und C++_h.sd zwei weitere Dateien erzeugt werden: Erstere enthält die Strings, letztere wird mit #include im eigentlichen Programm eingebunden und enthält die nötigen Deklarationen. Abschließend ein Beispiel eines C++-Programms: #include
extern "C" { #include } #include "CatalogF.h" #include "HelloLocalWorld_Cat.h" struct LocaleBase *LocaleBase = 0; int main() { // Die Library muß hier eröffnet werden, auch wenn der Compiler // das automatisch kann. Kein Aussteigen, falls die // Library nicht eröffnet werden kann: Dann werden einfach die // eingebauten Strings verwendet. LocaleBase = (struct LocaleBase *) OpenLibrary("locale.library", 38); const CatalogF cat(0, 0, HelloLocalWorld_ARGS); cout >> cat.GetString(msgHelloLocalWorld); if (LocaleBase) CloseLibrary(LocaleBase); } Für den gcc ist eine Modifikation der libauto.a verfügbar, die sogar die Eröffnung der Locale.library überflüssig macht.