In een applicatie gebruik ik een TClientDataSet volgens het briefcase model. Bij het starten van de applicatie wordt de dataset gevuld met een aantal records. Die records kunnen gewijzigd worden, maar niet verwijderd of toegevoegd. Tot dusver werkt alles prima.
Dan sla ik de inhoud van de TClientDataSet op in een XML-bestand en daar gebeurt iets vreemds. Als ik 10 records heb en ik heb alleen de records 2 en 4 bewerkt (Edit en Post), worden de bewerkte records achter alle andere records weggeschreven, dus niet op hun oude plaats. Schrijfvolgorde in het XML-bestand is:
1 3 5 6 7 8 9 10 3 5
Als ik nu de records teruglees uit het bestand, staan ze in de verkeerde volgorde. En dat wil ik niet!
Het inlezen doe ik zoals gebruikelijk met ClientDataSet.LoadFromFile.
Hoe kan ik de records weer in de normale volgorde krijgen, dus gewoon 1 2 3 4 ... 10?
Dan sla ik de inhoud van de TClientDataSet op in een XML-bestand en daar gebeurt iets vreemds. Als ik 10 records heb en ik heb alleen de records 2 en 4 bewerkt (Edit en Post), worden de bewerkte records achter alle andere records weggeschreven, dus niet op hun oude plaats. Schrijfvolgorde in het XML-bestand is:
1 3 5 6 7 8 9 10 3 5
Als ik nu de records teruglees uit het bestand, staan ze in de verkeerde volgorde. En dat wil ik niet!
Hoe kan ik de records weer in de normale volgorde krijgen, dus gewoon 1 2 3 4 ... 10?
Een goede grap mag vrienden kosten.