ITT (International Translation Tools) vom BCB6Entpr.



  • Hallo.

    Ich will meine Programme mehrsprachig machen.
    Habe mir das Beispeil RichEdit von BCB angeschaut und nach gemacht.

    Ich habe da die Menüleiste in mein neues Projekt kopiert, so das ich nicht das menü neu machen muß. Dann habe ich kompeliert und alles lief.

    Dann fing ich mit dem ITT an zu arbeiten. Alles schön übersetzt etc.
    Im Menü gibt´s nen Punkt "Language" und darunter "English,German".
    Das Ereignis von German,English habe ich bei OnClick auf das "US1Click(TObject *Sender)" verwiesen.

    So, ich keine Compiler error oder sonstiges vom BCB bekommen.

    Ich habe auf German geklickt und der übersetzt das nicht.

    Dann habe ich die Methode (US1Click(TObject *Sender)) gedebuggt und festgestellt das er was überspringt.

    Nämlich bei der if-Klause.

    Das "LoadNewResourceModule(dynamic_cast<TComponent*>(Sender)->Tag)" ist immer 0.
    Somit geht der nicht in die if-Klause rein.

    Wo liegt der Denkfehler?
    Was mach ich falsch?

    Code-Snippet siehe unten...

    void __fastcall TForm1::US1Click(TObject *Sender)
    {
      if(LoadNewResourceModule(dynamic_cast<TComponent*>(Sender)->Tag) != 0)
      {
        ReinitializeForms();
        US1->Checked = US1 == Sender;
        German1->Checked  = German1 == Sender;
      }
    }
    

    Gruß
    DJ BlackEagle™



  • Na offensichtlich schlägt die LoadNewResourceModule-Funktion fehl. Also solltest du versuchen, herauszufinden, warum das so ist.


Anmelden zum Antworten