Registry Problem



  • Schön guten Montag Morgen!!!

    Hab da ein Problem mit dem Zugriff auf die Registrierung. Hab versucht einen Schlüssel aus der Registrierung auszulesen, doch irgendwie kommt immer nur ein Fehler, wenn folgende Methode aufgerufen wird:

    AnsiString Zeichenkette;
    TRegistry *Registry;
    Registry->CloseKey();
    try
    {
    Registry->RootKey = HKEY_LOCAL_MACHINE;
    Registry->OpenKey("SOFTWARE\Test\Name\1.0", false);
    Zeichenkette = Registry->ReadString("MeinString");
    Mainform->Button1->Caption = Zeichenkette;
    Registry->CloseKey();
    }
    catch(...)
    {
    int Antwort;
    Antwort = Application->MessageBox("Fehler!!!", "Fehler", MB_OK);

    }

    Es kommt ein richtige Fehler-Messagebox von Windows die mir sagt ich hab da keinen Zugriff. Stimmt was mit der Instanzierung nicht?

    Danke!



  • Es ist montag und wir fahren langsam die Hirnleistung wieder auf 100%... wo erstellst du die Instanz deines TRegistry-Objekts?

    -junix



  • Also, eigentlich erstellt man ja ne Instanz so:
    Klassenname Objektname;

    Ich hab aber keine Instanz erstellt sondern einen Pointer:
    TRegistry *Registry;
    Registry = new TRegistry;

    Okay, es geht! Aber wieso geht es nicht auf die andere Weise?
    Tregistry Registry;

    Da bringt der Compiller die Fehlermeldung:
    Klassen im VCL-Stil müssen mit dem Operator new erstellt werden!

    Was sind Klassen im VCL-Stil?



  • Hald eben klassen aus der VCL...

    -junix



  • Ja, aber warum muss ich
    TRegistry *Registry;
    Registry = new TRegistry;

    schreiben, anstatt
    TRegistry Registry;
    ???



  • Frage vertrauensvoll deine Compilerfehlermeldung...

    -junix



  • Okay, danke!


Anmelden zum Antworten