我使用自己做的OCX控件(读写卡用),在一个FUNCTION中原来一参数数据类型为smallint,现在我想把数据类型改为integer,在LIB类库中修改后(OCX也做可相应修改),传入数据大于65535时提示“超出当前范围”在类库声明中中断,???

解决方案 »

  1.   

    65535是word类型的上限啊,你是不是写错了,如果是smallint,那应该是32767,integer是2147483647
      

  2.   

    我知道65535是2个字节的,但我的OCX控件(VC++做)里用的是unsigned short
    0~65535,所以最大可以输入65535;我也用 long试过了,问题依然存在;我把我的
    控件里改成unsigned int,Delphi程序的LIB声明改成integer或long 就会提示
    “超出范围”
      

  3.   

    要改源程序啊,如果在vc中编译的,而你只在delphi声明的地方改是没有用的,应该在vc中改成long int
      

  4.   

    ocx的VC++源程序也改成long型,问题依旧