/************************************************************************************ 函数名称: 功能说明:将一条记录保存到Buffer中. 详细解释:1.内部对每一个字段调用CField::SaveDataToBuffer(). 2.返回保存的到Buffer中的字节数. 出入参数: [in]: 1.lpData:要保存到Buffer中的起始地址. 2.如果传入指针无效,则返回-1. [out]:无. 返回类型:long. 制作:YTLI 2002/07/15 修改: ***********************************************************************************/ long CFields::SaveDataToBuffer(LPBYTE lpData) { if(!lpData) return -1; int iRetValue = (int)lpData; //将地址差作为引用返回值 int iFieldCnt = m_FieldArray.GetSize(); LPBYTE lpData2 = lpData; for (int i= 0;i<m_FieldArray.GetSize();i++) { CField* pField = (CField*)m_FieldArray.GetAt(i); if(!pField) return -1; pField->SaveDataToBuffer(lpData2); //引用传值 } iRetValue = (int)(lpData2 - lpData); return iRetValue; }