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"
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"
Comment