Example #1
0
/************************************************************************************
函数名称:

功能说明:将一条记录保存到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;
}