起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: dragonsoft

如何导入dll函数库?**

[复制链接]
 楼主| 发表于 2007-10-23 17:47:56 | 显示全部楼层
具体说说是什么原因吧,等不及啦
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-24 09:35:20 | 显示全部楼层
QQ远程看到执行init已经没有错误了,至于再往后,还是楼主自己多费些心思弄吧,其实不复杂的
==在远程之前init就已经没错了啊。 如果真如你说的不复杂,我想应该你们很容易解决才对吧,事实是远程之后还是没解决。
我现在是在费心思解决。
49楼我已经说了,用你给的dll和bpl不能发短信,用我的dll和bpl不能导入到x3. 现在我是希望你们能帮忙将49楼的tlb文件重新打包一次。一是我不确定你们给的bpl是用这个tlb打包过的,二是我自己打包过的导入到x3会出错。
回复 支持 反对

使用道具 举报

发表于 2007-10-24 11:26:17 | 显示全部楼层
我们总结一下这个帖子吧
1-15楼 是你的Delphi环境有问题了
16-37楼 是你调用错了函数
38 39楼 是dll不知道应该放什么位置
40-49楼 是你有多个版本的ImAPI.dll文件造成的
50楼以后是一个指针错

请你把这个指针错误具体到平台上的某个技术点我们来沟通吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-24 19:55:55 | 显示全部楼层
alang:
        因为这个demo没有导入到平台前是可以用的。我们有测试过的。你们比较有经验
能否所以现在也不知道如何怎么去处理这个access violation错误。你们肯定做过相关的事情
拜托啦,相信能合作愉快。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-24 21:03:40 | 显示全部楼层
附件 20071024-mas_unit.rar 中包含的是alang给的bpl和dll,以及我自己生成的bpl和dll
用我的导入到x3平台(文件在附件的xh目录),会报错(错误与上面的回复中提到的一样的错),我是按文档生成的,不知道为什么不行。
用alang的是可以导入和init,就是不能发短信。

对于AV错误,我现在也还不知道如何解决。我看到的是发短信的函数与initWithDB的参数类型是差不多的,我觉得不应该一个函数有错,另一个函数又没错。

所以我想alang能不能重新用附件的tlb2.pas生成下dll和bpl,我不知道你原来给我的是否是有全部函数的,只能再重新生成确认下。

20071024-mas_unit.rar

178.52 KB, 下载次数: 114

回复 支持 反对

使用道具 举报

发表于 2007-10-25 09:23:48 | 显示全部楼层
我就会起步软件的这个平台,其他的都不是很清楚
你的这个问题,用到了短消息,用到了MySQL数据库,用到了调用动态库等等,这些都是楼主擅长并且在做的事情
所以请楼主把问题框定到平台的知识范围内,我就好回答了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-25 13:30:13 | 显示全部楼层
alang说的好,平台的知识范围里面,那要导入的bpl和dll也应该是吧。
    总不能说你们的平台可以导入bpl和dll文件,后面能不能用就不关你们的事情啦?
    现在的问题很明确:我们做的demo在平台外面可以用,但是导入到贵平台就不能用,这说明什么问题很清楚。你们的平台在支持外部控件存在一定的问题,但是这些我们又不清楚。所以才需要你们配合啊,要不怎么做客户服务呢,如果你们平台能直接支持移动短信发送,那我们还这么辛苦干嘛呢,
    千万不要推卸责任,我们的demo在外部可以用,到你们平台就不能用,你说是不是要请教你们。出现这样的问题总不能怪我们开发demo的吧,鬼知道你们的平台还有什么限制。
    希望能尽快帮我们解决问题。
回复 支持 反对

使用道具 举报

发表于 2007-10-25 13:38:24 | 显示全部楼层
请看53楼,我希望我们针对平台上某一个具体的技术点来沟通,谢谢楼主对我工作的支持和配合
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-10-27 11:10:34 | 显示全部楼层
现在的问题是init是可以成功的,但发短信ApiSendSm不能。
  但这2个函数的声明没什么特别不同的。

  TInit = function(const ip: pchar;
                     const username: pchar;
                     const password: pchar;
                     const db: pchar;
                     const apiCode: pchar
                     ): integer; stdcall;

    TApiSendSm = function (const mobile: pchar;
                           const content: pchar;
                           const smTime: pchar;
                           const smId: longint;
                           const srcId: longint   
                           ): Longint; stdcall;

x3平台对dll的包装应该就是包装下要用的函数就可以了吧,那既然init没问题,ApiSendSm又怎么可能会有AV错误呢?

这些都是使用alang的bpl做的测试,init成功,发短信出现AV错误。
我自己生成的bpl和dll导入后会出错。
所以原因(最容易解决的一个)可能是alang生成的bpl所基于的tbl文件中发短信的函数有问题。

所以我上面也提出了解决方式:alang使用我的tbl文件(发短信函数的声明肯定没错的)再生成bpl和dll
或是alang把他生成bpl时对应的tbl发上来看下,也好确定下不是tbl文件的原因。
回复 支持 反对

使用道具 举报

发表于 2007-10-27 11:13:41 | 显示全部楼层
不好意思,今天alang不在,我对这方面不是恨清除。还是等到下周一他来在给你回帖吧。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-29 20:48 , Processed in 0.042290 second(s), 16 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表