飞狐DLL如何输出字符串

飞狐V3.4 升级说明(2003/06/20)扩展里有:
公式DLL接口参数支持字符串,struct tagCALCPARAM中增加union变量const char* m_szParam,对应m_nParamStart为-3,表示字符串类型;

现在我已修改了头文件的定义如下:
typedef struct tagCALCPARAM
{
union
{
const char* m_szParam;//表示字符串类型
const float* m_pfParam; //序列参数
const float m_fParam; //数值参数
};
const int m_nParamStart; //序列参数有效起始位置
}CALCPARAM;

下面是我的代码,目的是输入字符串,然后再输出来看是否正确:
        if ( pData->m_pCalcParam[0].m_nParamStart == -3 &&
                 pData->m_pCalcParam[1].m_nParamStart == -3 &&
         pData->m_pCalcParam[2].m_nParamStart == -3 &&
         pData->m_pCalcParam[3].m_nParamStart == -3 )
        {
          const char* pValue1=pData->m_pCalcParam[0].m_szParam ;
          const char* pValue2=pData->m_pCalcParam[1].m_szParam ;
      const char* pValue3=pData->m_pCalcParam[2].m_szParam ;
          const char* pValue4=pData->m_pCalcParam[3].m_szParam ;
          
          if (pValue1=="AAAA" && pValue2=="BBB" && pValue3=="CC" && pValue4=="D")
          {
          pData->m_pResultBuf[m_nNumData]=pValue1+pValue2+pValue3+pValue4;  //m_nNumData这里无定义
          }
        return 7;//不是序列值,不知道该返回什么值

返回的m_pResultBuf是const float*类型,所以上面的输出是不对的.return也不知返回什么值.请各位老师大力指教.谢谢,谢谢
我也来说两句 查看全部回复

最新回复

  • nihs (2008-7-10 04:39:24)

    我劝天公重抖擞,不拘一格降人才!
    我劝天公重抖擞,不拘一格降人才!!
    我劝天公重抖擞,不拘一格降人才!!!
  • nihs (2008-7-28 12:55:16)

    我已想出办法了,希望以后能有更多的人帮助想办法解决问题
  • joneslee (2008-7-28 17:36:59)

    什么办法?
  • nihs (2008-7-28 17:42:32)

    QUOTE:

    原帖由 joneslee 于 2008-7-28 17:36 发表
    什么办法?
    就是把字符串输入到DLL中又将DLL中所需要的字符串输出,已经用DLL和公式配合实现了.
    这是非常有用的.
  • joneslee (2008-7-28 18:41:29)

    好方法!
  • gl542400 (2008-9-04 21:16:18)

    看贴回贴! 帮你抬贴!在得点积分!