最近碰到件麻烦事,要用delphi将一个c++写的DLL包装成一个asp组件,就是不知道delphi和c++还有asp组件之间的数据类型对应关系,真是麻烦死了。拜托那位列张表好吗?
在这里谢谢了!!

解决方案 »

  1.   

    Pascal、C / C + +、Visual Basic数据类型的对照
    ==========================================================================
    变量类型          Pascal             C/C++                   Basic8位有符号整数     ShortInt            char                    无
    8位无符号整数     Byte                BYTE                    Byte
                                          unsigned short         16位有符号整数    SmallInt             short                 Short16位无符号整数    Word             unsigned short              无
    32位有符号整数    Integer               int               Integer Long
                      Longint               long              32位无符号整数    Cardinal
                      LongWord          unsigned long              无
    64位有符号整数     Int64              _int64                   无
    4字节浮点数       Single              float                   Single
    6字节浮点数       Real48               无                      无
    8字节浮点数       Double             double                   Double
    10字节浮点数      Extnded           long double                   无
    64位货币值        currency无          无                       Currency
    8字节日期/时间    TDateTime           无                         Date
    16字节variant   Variant          VARIANT Variant①        Variant (缺省)
                    OleVariant       OleVariant①
                    TVarData           1字节字符          Char             char                      无 
    2字节字符       WideChar            WCHAR固定长度字节的字符串
                    ShortString          无                       无 
    动态字符串      AnsiString         AnsiString①              String
    以Null结束的字符串
                     PChar              char*                    无
    以Null结束的宽字符串
                     PWideChar          LPCWSTR                  无
    动态2字节字符串  WideString         WideString①             无
    1字节布尔值     Boolean,ByteBool    (任何1字节数)           无
    2字节布尔值      WordBool            (任何2字节数)           Boolean
    4字节布尔值      BOOL,                 BOOL                  无      
                     LongBool                  
    =====================================================================
    ① 模拟对应的Object Pasacl类型的Borland C++ Builder类。  注意  
      如果要移植Delphi1.0 的16位代码,请记住,无论是Integer还是Cardinal类型都已经从16位扩展到32位。更准确地说,在Delphi2和Delphi3中,Cardinal被看作是31位的无符号整数,在Delphi4以后,Cardinal才真正成为32位的无符号整数。
        警告  
      在Delphi1、2和3中,Real是6字节的浮点数,这是Pascal特有的数据类型,和其他的语言不兼容。在Delphi 4中,Real是Double类型的别名,6字节的浮点数仍然有,但现在是Real48。通过编译开关{$REALCOMPATIBILITY ON}可以使Real仍然代表6字节的浮点数。
    -------------------------------------------------------------------------------
    抄的,帮你up.