Assigns a value to a field in a new record.
int
ade_odpresetfield(
ade_id rec_id,
char* field,
struct resbuf* value);
Returns RTNORM or an error code.
rec_id | Record ID returned by ade_odnewrecord. |
field | Field name. |
value | Field value. |
Sets the value of a field in an Object Data record defined through ade_odnewrecord.
The following sample creates a new object data record for "table1" using ade_odnewrecord(). A resbuf is created which contains the new value to be applied to "field1" in the new object data record. Ade_odpresetfield() is called with all required parameters. A selection set containing all entities in the current drawing is created, then each entity has the new object data record attached using ade_odattachrecord(). Ade_odfreerec() is called to free the memory claimed in defining a new record and the resbuf is released as required.
char* pszOdTable = "table1"; ade_id recordId = ade_odnewrecord(pszOdTable); struct resbuf* pOdFieldValRb = acutBuildList(RTSTR, "Newvalue",0); char* pszOdField = "field1"; int returnCode = ade_odpresetfield(recordId, pszOdField, pOdFieldValRb); ads_name selectionSet; acedSSGet("_x", NULL, NULL, NULL, selectionSet); ads_name ename; long ssLength; acedSSLength(selectionSet, &ssLength;); for( int i = 0; i < ssLength; ++i ) { if( acedSSName(selectionSet, i, ename) == RTNORM ) { int returnCode = ade_odattachrecord(ename, recordId); } } returnCode = ade_odfreerec(recordId); acutRelRb(pOdFieldValRb);