Testat allt och det verkar funka. Det som bekymrar mig lite dock är att man MÅSTE köra en AdkUpdate direkt efter att man har lagt till en rad.Säg att jag vill lägga till en rad EFTER att jag har lagt till en annan. Dvs:1. Lägg till en rad, uppdatera data, uppdatera nrows.2. Lägg till en till rad, uppdatera data, uppdatera nrows.3. Uppdatera Huvudpekaren.Så verkar det som att en del data försvinner påvägen. Jag vill helst vänta med att köra AdkUpdate av anledningen till att jag kanske inte vill spara den data jag försöker sätta in än.Allt nedanstående sker innan en AdkUpdate.Så säg:var pOrder = AdkCreateData(ADK_DB_ORDER_HEAD);AdkSetDouble(pOrder, ADK_OOI_HEAD_DOCUMENT_NUMBER, 1);var pDataRow = AdkCreateDataRow(ADK_DB_ORDER_ROW, 1);var pTempData = AdkGetDataRow(pDataRow, 0);AdkSetStr(pTempData, ADK_OOI_ROW_TYPE_OF_ROW, "T");AdkSetStr(pTempData, ADK_OOI_ROW_TEXT = "ExempelText");AdkSetDouble(pOrder, ADK_OOI_HEAD_NROWS, 1);AdkSetData(pOrder, ADK_OOI_HEAD_ROWS, pDataRow);// sen kommer jag på att jag vill lägga till en till rad:var pDataRow = AdkCreateDataRow(ADK_DB_ORDER_ROW, 2);var pTempData = AdkGetDataRow(pDataRow, 1);AdkSetStr(pTempData, ADK_OOI_ROW_TYPE_OF_ROW, "T");AdkSetStr(pTempData, ADK_OOI_ROW_TEXT = "Annantext");AdkSetDouble(pOrder, ADK_OOI_HEAD_NROWS, 2);AdkSetData(pOrder, ADK_OOI_HEAD_ROWS, pDataRow);AdkAdd(pOrder);Det resultat jag får då är att jag har skapat ett orderhuvud med EN rad, dvs den rad med "Annantext". Det här har förmodligen med att göra att den första orderrowen inte existerar i visma.Det är även i just detta fall som det hade varit trevligt att kunna sätta en extern pekare till en DataRow-vektor istället för att behöva hämta hem pTempData pekare och behöva sätta värden i den.Dvs, något i stil med:var pOrder = AdkCreateData(ADK_DB_ORDER_HEAD);AdkSetDouble(pOrder, ADK_OOI_HEAD_DOCUMENT_NUMBER, 1);// sätta in första radenvar pDataRow = AdkCreateDataRow(ADK_DB_ORDER_ROW, 1);var pTempData = AdkGetDataRow(pDataRow, 0);AdkSetStr(pTempData, ADK_OOI_ROW_TYPE_OF_ROW, "T");AdkSetStr(pTempData, ADK_OOI_ROW_TEXT = "ExempelText");AdkSetDouble(pOrder, ADK_OOI_HEAD_NROWS, 1);AdkSetData(pOrder, ADK_OOI_HEAD_ROWS, pDataRow);// sätta in andra raden:var pDataRow = AdkCreateDataRow(ADK_DB_ORDER_ROW, 2);// hämta hem den existerande raden.var existingRow = AdkGetData(pOrder, ADK_OOI_HEAD_ROWS, 0);// sätta den existerande raden i den skapade dataraden på index 0.AdkSetDataRow(pDataRow, 0, existingRow);// sätta den nya radenvar pTempData = AdkGetDataRow(pDataRow, 1);AdkSetStr(pTempData, ADK_OOI_ROW_TYPE_OF_ROW, "T");AdkSetStr(pTempData, ADK_OOI_ROW_TEXT = "Annantext");AdkSetDouble(pOrder, ADK_OOI_HEAD_NROWS, 2);AdkSetData(pOrder, ADK_OOI_HEAD_ROWS, pDataRow);