调用Dll无法显示图片??

EastWinder 2005-11-02 02:03:42
我的主程序的登陆窗口放了三个TImage控件,用LoadFromFile显示Project下的图片文件,在调用Dll之前显示正常的,但在Add to Project里添加了我自己封装的lib 文件后,图片就显示不出来了,错误提示:Unknown picture file extension(.jpg),请高手指教。DLL里有多个窗口,还调用了一个Pcomm的Dll,还有一个自己写的线程。但是主程序只调用另外一个单窗口的Dll是没有问题的,就是调用这个Dll有问题。
...全文
242 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jishiping 2005-11-02
  • 打赏
  • 举报
回复
虽然 jpeg.hpp 有 #pragma link "jpeg.obj" 这一句,但是我觉得BCB的连接会自动判断要不要将jpeg.obj 连接到EXE中,就是说如果程序没有用到jpeg,那么即使程序 include <jpeg.hpp>,那么连接时还是不会将jpeg.obj连接到exe中。我个人觉得BCB的连接程序可能有一些bug,造成有时会判断错误。如果DLL是静态连接的,并且不包含VCL控件,那么应该没有问题,如果DLL用到了VCL控件,连接程序就可能就会判断错误。具体的情况,没有详细去测试。
EastWinder 2005-11-02
  • 打赏
  • 举报
回复
这个问题我也想了一上午了,可能是Dll封装有问题,因为用另一个Dll就没事,但怎么也想不通,它为什么会影响到一个Image控件。
jishiping 2005-11-02
  • 打赏
  • 举报
回复
和代码无关,主要是连接时jpeg的那个库没有被连接到EXE中造成的。你可以强制将 CBuilder6\Lib\Obj\jpeg.obj 加到你的Project中。
EastWinder 2005-11-02
  • 打赏
  • 举报
回复
其实讲述起来很简单,新建一个工程,Form上面放一个Image控件,设置Picture属性就会显示图片,运行也正常,但是当我Add to Project里添加了那个Lib文件后,什么没做,再运行那个图片就不显示了,dll本身稍复杂了些,上面说过了
ccrun.com 2005-11-02
  • 打赏
  • 举报
回复
问题比较古怪。能贴出部分代码最好。
shadowstar 2005-11-02
  • 打赏
  • 举报
回复
错误提示好像和DLL没什么关系。
EastWinder 2005-11-02
  • 打赏
  • 举报
回复
小弟就这么多分了。

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧