Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Spieleprogger

Frischling

  • »Spieleprogger« ist der Autor dieses Themas

Beiträge: 31

Wohnort: Poelchau str.: 26

  • Private Nachricht senden

1

03.09.2005, 11:23

Resourcen aus DLL übernehmen?

Hi, wie kann ich es anstellen, dass ein Programm von mir siene Resourcen aus eiener DLL zieht? Das wär nützlich, wenn ich das Programm in mehreren Spprachen nehmen würde oder es erweitern will, sodass ich nur die DLL aktualisieren muss. Oder für mein Spiel, dass keiner an die Resourcen rankommt.

Also die DLL hab ich schon fertig. Hab sie auch zusätzlich noch mit der GetInfo Funktion ausgerüstet.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#include <Windows.h>
#include <StdIO.h>
#include <StdLIB.h>
#include <string.h>

extern "C"
{
    BOOL APIENTRY DllMain(HMODULE hModule, 
                          DWORD dwReasonForCall,    
                          LPVOID pReserved)
    {
        switch(dwReasonForCall)
        {
            case DLL_PROCESS_ATTACH:
            case DLL_PROCESS_DETACH:
            break;
        }

    return TRUE;
    }

    // Liefert eine Info über die Aufgabe der DLL

    __declspec(dllexport) void GetInfo(char* pcPluginName,
                                       char* pcAuthor,
                                       char* pcVersion)
    {
        // Daten eintragen

        strcpy(pcPluginName, "Resource.dll");
        strcpy(pcAuthor, "Robin Klimonow");
        strcpy(pcVersion, "1.0.1 Beta 1 Build 638.1 HL-C-FB1 v1.0");
    }
}


Und die Resoucen hab ich auch schon (Einige) drin. Z.B. Stringtexte, und bitmaps. Nun würd ich wollen, dass das Programm seine Texte aus der DLL zieht.

Mfg, Spieleprogger.

PS: Hoffe das Thema gabs noch nicht.

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

03.09.2005, 12:03

Wo ist denn das Problem?

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
__declspec(dllexport) void GetText(int iTextID,
                                   int iLanguageID)
                                   char* pcOut)
    {
        switch(iLanguageID)
        {
        case LANG_GERMAN:
            switch(iTextID)
            {
            case TEXT_MAIN_MENU: strcpy(pcOut, "Hauptmenü"); break;
            case TEXT_EXIT_GAME: strcpy(pcOut, "Spiel beenden"); break;
            }
            break;

        case LANG_ENGLISH:
            switch(iTextID)
            {
            case TEXT_MAIN_MENU: strcpy(pcOut, "Main menu"); break;
            case TEXT_EXIT_GAME: strcpy(pcOut, "Exit game"); break;
            }
            break;
        }
    }


Praktischer wäre es natürlich, wenn die GetTexts-Funktion gleich die ganze Liste aller Texte für die angegebene Sprache liefern würde (std::map mit Text-ID als Schlüssel und Text als Wert).