Announcement

Collapse
No announcement yet.

aus ini-einstellungen const's erzeugen

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • aus ini-einstellungen const's erzeugen

    Hallo,

    meine GetIniValues() funktion nutzt TIniFile um Einstellungen aus einer
    INI-Datei zu lesen.

    Diese wollte ich jetzt als Konstanten (const) definieren. Nach einigem
    Herumprobieren habe ich es jetzt wie folgt gemacht:

    -------------DataModule.cpp---------------------------------------------------
    void __fastcall TDataModule1::GetIniValues()
    {
    IniFileName = ParamStr(0).SubString(0,ParamStr(0).Pos("exe")-1)+"ini";
    TIniFile *Inifile = new TIniFile(IniFileName);
    (const char*) LJIP=Inifile->ReadString("IP","LJIP","192.168.0.220");
    delete Inifile;
    }
    -------------DataModule.h--------------------------------------------------------
    class TDataModule1 : public TDataModule
    ...
    public:
    const char* LJIP;
    ...
    -------------------------------------------------------------------------------------

    beim Debuggen wird auch für LJIP der korrekte Wert angezeigt.
    Da aber die Zeile:
    DataModule1->LJIP in Main.CPP
    erfolgreich ausgeführt wird sagt mir, dass ich irgenwas falsch gemacht habe ;-)
    aber was?!
    Wie macht man das?

    Eigentlich wird die Konstante zum Initialisieren einer Hardware verwendet.
    Da tritt aber beim Ausführen der Init-Funktion der Fehler:
    "Zugriffsverletzung bei Adresse 32761503 in Modul 'CC3270MT.DLL'. Lesen von Adresse 00000092"

  • #2
    Würde sage das ist hier kein const Problem, sondern

    const char* LJIP -> ein char Zeiger (const)

    (const char*) LJIP=Inifile->ReadString("IP","LJIP","192.168.0.220");

    ReadString gibt einen String (AnsiString) zurück. Das ist kein char und kein *char.

    M.E.

    LJIP=Inifile->ReadString("IP","LJIP","192.168.0.220").c_str() ;
    Christian

    Comment

    Working...
    X