TIniFile erzeugt kein .ini - File



  • Hallo,
    ich habe das Beispiel zum Lesen/Schreiben direkt aus der C-Builder Hilfe übernommen. Es wird aber bei mir kein .ini File erzeugt

    Was mache ich falsch?

    __fastcall TForm1::TForm1(TComponent* Owner)
                     : TForm(Owner)
    {
       TIniFile *ini;
       ini = new TIniFile(ChangeFileExt( Application->ExeName, ".INI" ) );
       Top     =  ini->ReadInteger( "Form", "Top", 100 );
       Left    =  ini->ReadInteger( "Form", "Left", 100 );
       Caption =  ini->ReadString( "Form", "Caption", "Default Caption" );
       delete ini;
    }
    //---------------------------------------------------------------------------
    __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
    {
       TIniFile *ini;
       ini = new TIniFile(ChangeFileExt( Application->ExeName, ".INI" ) );
       ini->WriteInteger( "Form", "Top", Top );
       ini->WriteInteger( "Form", "Left", Left );
       ini->WriteString ( "Form", "Caption", Caption );
       delete ini;
    }
    

    Das ist ein Auszug aus meinem Quellcode.



  • Hallo

    Doch, bei mir wird mit diesem Code schon ein Ini-File mit korrekten Inhalt im Pfad des Projektes angelegt. Bist du sicher, das die Methode überhaupt aufgerufen wird?

    bis bald
    akari



  • Hab alles nochmal neu implementiert. Aber kein ini-File zu finden.
    Wie kann ich überprüfen, ob die Funktion ausgeführt wird?



  • Hallo

    zum Beispiel mit dem Debugger, indem du einen Breakpoint auf die zweite Zeile der Methode setzt. Und dann schaust, ob beim Ausführen und Schließen des Programms an dieser Stelle in den Quellcode gesprungen wird.

    bis bald
    akari



  • Hallo,
    die Methode wird nicht aufgerufen beim schließen des Forms. Ich habe die Methode folgendermassen erzeugt: Im ClassExplorer rechtsgecklickt, neue Methode, Namen und Argument vergeben, dann den Source Code implementiert.

    War dieser Weg richtig?



  • __fastcall TForm1::FormClose(TObject *Sender, TCloseAction &Action)
    

    Die o.a. Methode hast du so erzeugt??

    Ansonsten im Objektinspektor auf die Seite Ereignisse und bei OnClose -> Doppelclick



  • Hallo,
    habs nach deiner Anweisung mal versucht und hat funktioniert.

    Vielen Dank für eure Hilfe!!

    Hab schon lang nicht mehr mit dem C-Builder gearbeitet, brauch wieder'n bischen Übung damit.


Anmelden zum Antworten