首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • vba调用c写的dll时候的问题
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chainjp
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2008-08-23 20:47:33 楼主
    各位大哥大姐,小弟向你们求救
    我把一个协议里的源代码编译成dll,用vba调用
    dll里面的函数是这样的 aaa(unsigned char *key,unsigned char *data)
    用c写的文件作一个测试 比如 unsigned char a={14,15}
                          unsigned char b={12,13}
                      调用aaa(a,b) 后得到的加密后的b

    但是在vba中,我 dim a() as byte
                  dim  b() as byte
                  a(0) =14 a(1)=15
                  b(0)=12 b(1)=13
                  aaa(a(0),b(0))
                  这样得到的值和上面的期待值不一样
                    为什么呢
                    但是我在vba中,反加密却没有问题
                    就是说比如 我得到b(0) =32 b(1)=64
                  然后再call aaa(a(0),b(0))
                  可以得到 b(0)=12 b(1)=13
                 
                  实在不知道为什么啊????
    0  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chainjp
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 20:50:271楼 得分:0
    自己顶一下~~~ 我得高级语言实在是不行,我想应该是传递参数的问题,但是我做过传递参数的试验,vba中定义的a(0)=15 传递进dll没有问题,也可以用于计算阿
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • supergreenbean
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

    发表于:2008-08-24 00:20:422楼 得分:0
    你声明怎么写的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • chainjp
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-24 14:51:223楼 得分:0
    声明写的是。。。lib“XXX” aaa(byref a as byte,byref b as byte)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • supergreenbean
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 2

    发表于:2008-08-25 09:12:564楼 得分:0
    private declare sub aaa lib "xxx" (key as any, data as any)

                  dim  b() as byte
                  a(0) =14 a(1)=15
                  b(0)=12 b(1)=13
                  aaa(a(0),b(0))
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved