Multilanguages
- 
					
					
					
					
 würde mich auch über testprog freuen, 
 sega1601@aol.comdanke *******  
 
- 
					
					
					
					
 So, habs auf der Arbeit noch hinbekommen...auch mit dem Zeiger.. Ich werde hier ne komplette Lösung posten ok, das kommt dann in die FAQ! 
 
- 
					
					
					
					
 @ <Brainstalker> und WeiseCoder 
 Schaut mal in eure Post.@ C-O-M-M-A-N-D-E-R 
 Soll ich eine Zusammenfassung schreiben? Ich hätte heute Zeit dazu.MFG 
 Kai
 
- 
					
					
					
					
 Hallo 
 auch ich haette grosses Interesse an Eurem Testprogramm
 Vielen Dank schon mal
 
- 
					
					
					
					
 @ sport 
 Die Post ist da.@ all 
 Wenn noch jemand das Testprog. haben will, per Mail oder heir melden (ich habe nocheimal ein neues Testprog. geschrieben).MFG 
 Kai
 
- 
					
					
					
					
 ja kannst du machen KaeI.. 
 poste sie hier einfach, und ich packs dann in die FAQ..
 
- 
					
					
					
					
 Programme in mehreren Sprachen erstellen Hierfür gibt es zwei Varianten: 
 **1. Für jede Sprache eine eigene Version erstellen.
 2. Nur eine Version erstellen, wobei die sprachspezifischen Sachen in Dlls untergebracht werden.Grundlagen: Dialoge:** 
 1. Dialoge können für jede Sprache extra erstellt werden (übersichtlicher). Dabei ist jedem Dialog eine Sprache zuzuweisen (Resourcen View -> Rechtsklick auf den Dialog -> Eigenschaften -> Sprache).2. Es ist aber auch möglich nur einen Dialog für alle Sprachen zu Erstellen (schneller). Hierbei werden alle Sprachabhängigen Dinge, wie Beschreibung für Editboxen etc., aus dem Stringtable geladen. Einen String aus dem Stringtable laden: CString str; // Die ID ist die ID aus dem StringTable str. LoadString(IDS_ IDSTRING _AUS_STRINGTABLE);1. Für jede Sprache eine eigene Version erstellen. Für jede Sprache wird ein Stringtable erstellt. Hierbei ist es wichtig jedem Stringtable die richtige Sprache zuzuweisen (Resourcen View ->Rechtsklick auf den Stringtable -> Eigenschaften -> Sprache). Vor dem Erstellen einfach noch die gewünschte Sprache einstellen (Projekt -> Einstellungen -> Resourcen -> Sprache) und fertig. 2. Nur eine Version erstellen, wobei die sprachspezifischen Sachen in Dlls untergebracht werden. Für jede Sprache wird eine Dll erstellt. Die Dll enthält den StringTable und vielleicht noch die Dialoge. 
 Während dem Programmstart wird nur die Dll für die gewünschte Sprache geladen. Danach wird der Resourcenhandle auf die Dll gesetzt. Nun kann man die Strings (und Dialoge) aus der Dll Laden.
 Bsp.:HINSTANCE hDll; // Handle für Dll hDll = AfxLoadLibrary(strLanguage); // Dll laden ASSERT(hDll); // Ist Dll geladen? AfxSetResourceHandle(hDll); // Resourcenhandle auf Dll setzen // Resource laden // Die ID ist die ID aus dem StringTable m_strTest.LoadString(IDS_IDSTRING_AUS_STRINGTABLE); AfxFreeLibrary(hDll); // Dll wieder freigebenAchtung: bevor man eine Resource aus der Exe laden kann, muss der Resourcenhandle mittels "AfxSetResourceHandle" wieder umgesetzt werden. Was noch beachtet werden muss: die IDs für die einzelnen Strings müssen in allen Dlls und der Exe gleich sein!! Die IDs sind in der Resource.h zu finden. Sind die IDs nicht gleich, wird bei LoadString ein leerer string zurückgegeben. MFG 
 Kai[ Dieser Beitrag wurde am 15.03.2002 um 10:20 Uhr von KaiE editiert. ] 
 
- 
					
					
					
					
 Das sieht doch gut aus.... Trotzdem noch ne ergänzung: HINSTANCE hExe; hExe = AfxGetInstanceHandle(); //ermittelt die EXE des Programms AfxSetResourceHandle(hExe); // Setzt den Zeiger wieder umSo damit könnte man es auch lösen images/smiles/icon_wink.gif Ab damit in die FAQ... over and out 
 commander images/smiles/icon_cool.gif