Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Stringtabelle und ResourceIncludes

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
01.08.2005, 14:57 Uhr
~partisan
Gast


Kann mir jemand erklaeren was diese zwei Dinge bewerkstelligen und was der Unterschied zwischen ihnen ist?

Ich denke mal das bei den ResourceIncludes sowas wie Makrowerte fuer Namen festgelegt werden. Vielleicht sogar mit dem Präprozessor?
Aber was macht dann der String Table? Sieht irgendwie aehnlich aus, aber wieso soll man zweimal Makrowerte fuer ein und daselbe Objekt festlegen?

Würde mich über Erklärungen freuen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
03.08.2005, 10:04 Uhr
RHBaum



Deine Ressource-Include sind nur defines ....
sie definieren dir eigentlich nur FIX nen Int wert, nix weiter ....

Deine eigentlichen ressourcen (Strings, Dialoge, Icons, Bilder) werden beim compilieren in den statischen Datenteil des Programms / der Dll abgelegt, und mit dem Identifier (int)versehen.

Um zur laufzeit von deinem Programm den zeiger auf den statischen datenteil, und da genau auf die ressource die du mit dem int indentifizierst, zu bekommen, musst du spezielle funktionen aufrufen ... LoadRessource allgemein, oder LoadString , LoadIcon als spezialisierte Version.

Das coole daran ist .... du kannst mehrere saetze von ressourcen mit den gleichen typ und ID haben, und beim compilieren austauschen .... so kannst z.b. deine stringtabelle in deutsch schreiben, exportieren , uebersetzen lassen, wieder importieren fuern anderes laenderschema ... und dann im compiler mittels eines clicks von deutsch auf englisch umschalten ... oder dir sogar unterschiedliche compiler configs erstellen, wo nach wahl ne deutsche oder engl. exe erstellst ....

Macht man aber seltener deswegen, wenn man das braucht, man geht eher dann gleich noch nen schritt weiter .... man compiliert die ressourcen komplett in ne eigenstaendige Dll, und holt sich die ressourcen daraus, wobei man vorher die dll dynamisch anzieht, also dann echt zur laufzeit bestimmen kann, welche dll, und damit welche sprache angezeigt wird ....

Vorteil der ressourcen allgemein, ist das man die ressourcen zentral hat, und keine so komischen c files braucht die nur Texte definieren .... bisserl flexibler und eleganter halt ...

Ciao ...

Dieser Post wurde am 03.08.2005 um 10:05 Uhr von RHBaum editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
04.08.2005, 14:21 Uhr
~partisan
Gast


Danke für die Erklärung. Ich kann jetzt endlich was damit anfangen.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: