TMemIniFile im Netzwerk
-
Ich habe ein Programm, das im Netzwerk mit einem XP und einem 98 Rechner auf einen NT-Server zugreift. In dem Programm werden Informationen mit Hilfe von TMemIniFile in eine Datei auf dem NT-Server gespeichert.
Unter XP läuft das wunderbar, nur unter 98 wird in ca 95% aller Fälle nicht gespeichert. Ich bin dann auf TIniFile umgestiegen und siehe da: Es läuft bei beiden. Der Haken ist allerdings, das nun unter XP ca. 1 min zum Speichern einer 300k Datei benötigt wird.Meine Frage:
Wieso läuft TMemIniFile nicht unter 98? Wieso braucht TIniFile unter XP soviel länger als unter 98?Meine Überlegung:
Ich habe das Programm unter XP compiliert, lohnt die Mühe es mal unter 98 zu compilieren und es dann zu versuchen??
-
TMemIniFile::UpdateFile() hast du eingfügt, ja?
-junix
-
Ja hab ich, es läuft ja unter XP?!
TMemIniFile* ini= new TMemIniFile(winterVar->DateiName.c_str()); ini->WriteInteger("Termine","Anzahl",winterVar->termine.size()); ini->WriteInteger("Termine","Version",2); ini->WriteDateTime("Termine","TimeStamp",Now()); for(unsigned int i=0; i<winterVar->termine.size(); ++i) { Termin* t=winterVar->termine.at(i); ini->WriteString(i,"Titel",t->titel.c_str()); ini->WriteString(i,"Klasse",t->klasse.c_str()); ini->WriteInteger(i,"Typ",t->typ); ini->WriteInteger(i,"Vorlauf",t->vorlauf); ini->WriteInteger(i,"Periode",t->periode); ini->WriteInteger(i,"VornHinten",t->vornHinten); ini->WriteBool(i,"Aufbewaren",t->keep); ini->WriteBool(i,"Merken",t->merken); ini->WriteBool(i,"Ende",t->ende); ini->WriteDate(i,"Datum",t->datum); ini->WriteDate(i,"Start",t->erster); ini->WriteDate(i,"Letzter",t->endeDatum); } ini->UpdateFile();
-
Hab gerade das in der Hilfe gefunden:
Da die Daten von C++Builder und nicht vom Betriebssystem in die INI-Datei geschrieben werden, werden Änderungen in allen unterstützten Windows-Versionen schneller gespeichert.
Ist das vielleicht das Problem, das Borland da Mist gebaut hat???