Benutzer mit den meisten Antworten
C++ DLL Resourcen

Frage
-
Also, Ich habe schon viel recherchiert, aber ich habe noch nicht gerade viel gefunden.
Ich möchte gern meine Text für meinen MFC-Dialog in eine DLL auslagern. Nun habe ich die DLL mit den Strings, weis aber nicht was ich mit dem Compiler machen muss. Ich benutze Visual Studio 2010 Professional. Und bitte schritt für schritt Anleitung, danke.
Antworten
-
Du lädst erst einmal Deine Ressourcen DLL wie gewohnt mit LoadLibrary und holst dann mit LoadString Deinen String aus der DLL.
CodeSchnipsel:
HINSTANCE DllHandle; TCHAR String[256]; int NumChars; int BufferSize; ... DllHandle=LoadLibrary(DllPathAndName); ... BufferSize=sizeof(String)/sizeof(TCHAR); NumChars=LoadString(DllHandle, IDS_YOURSTRING, String, BufferSize);
- Als Antwort markiert KK Senior Donnerstag, 4. November 2010 18:28
Alle Antworten
-
Also, Ich habe schon viel recherchiert, aber ich habe noch nicht gerade
viel gefunden.Nicht! Dann hast Du aber nicht groß gesucht?
Ich möchte gern meine Text für meinen MFC-Dialog in eine DLL auslagern. Nun
habe ich die DLL mit den Strings, weis aber nicht was ich mit dem Compiler
machen muss. Ich benutze Visual Studio 2010 Professional. Und bitte schritt
für schritt Anleitung, danke.Das war mein erster größrer Beitrag überhaupt im Netz ;)
http://www.mpdvc.de/artikel/MultilingualeProgramme.htm
Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de -
Du lädst erst einmal Deine Ressourcen DLL wie gewohnt mit LoadLibrary und holst dann mit LoadString Deinen String aus der DLL.
CodeSchnipsel:
HINSTANCE DllHandle; TCHAR String[256]; int NumChars; int BufferSize; ... DllHandle=LoadLibrary(DllPathAndName); ... BufferSize=sizeof(String)/sizeof(TCHAR); NumChars=LoadString(DllHandle, IDS_YOURSTRING, String, BufferSize);
- Als Antwort markiert KK Senior Donnerstag, 4. November 2010 18:28
-
Also ich habe eben das Stückchen Code hier probiert, und es funktioniert ohne Probleme. In meiner DLL ist unter der ID 1000 ein String gespeichert, der auch korrekt gelesen wurde:
HINSTANCE dll; TCHAR c[256]; int num; int BufferSize; // Meine DLL ist im debug verzeichnis
// dll sollte !=NULL sein bei erfolgreich geladener DLL
dll=LoadLibrary(_T(".\\debug\\DELang.dll")); BufferSize=sizeof(c)/sizeof(TCHAR); num=LoadString(dll, 1000, c, BufferSize);