起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 524|回复: 16

【搞定】[请求]关于第三方控件**

[复制链接]
发表于 2007-6-7 22:59:56 | 显示全部楼层 |阅读模式
需要将AutoACD文件显示出来,为了避免需要本机安装AutoACD的程序。急~~~~~请尽快帮忙解决。谢谢


以下为暂时遇到的问题:
1、在顺利导入第三方控件MicroDraw到平台后,能够使用将其放置表单中,但是却在功能运行时出错,如图错误提示:
2、在使用这个控件以后,该怎么从数据库中取文件(文件是以二进制流形式存在数据库中的)让它在MicroDraw中显示,达到预览的效果,希望得到你们的技术支持。

error.jpg

23.76 KB, 下载次数: 279

回复

使用道具 举报

发表于 2007-6-8 08:40:35 | 显示全部楼层
24.        运行时,创建包含该控件的窗体时,出现错误提示“没有注册类别”
请检查第三方控件.ocx本身是否已经在客户端上注册(注册方式可能有运行第三方控件的安装文件、运行regsvr32等)。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-8 09:18:36 | 显示全部楼层
不是这个问题吧?而且我在本机上也注册过呀!
第二个问题呢??
回复 支持 反对

使用道具 举报

发表于 2007-6-8 09:27:42 | 显示全部楼层
23.        运行时,创建包含该控件的窗体时,出现错误提示“没有类型信息[TestDLL]TestNameSpace.TestControl”
1)        Delphi的版本不对,必须是Delphi 6+SP2
2)        步骤二的配置文件设置的输出文件名与步骤三的Test.bat中的第二个参数(输出动态库名称)不一致,请确保这两个名称是一致的。
3)        步骤三生成的注册文件有两个或者更多,请把这些文件都加入到dpk文件中
4)        在步骤四生成bpl包文件的时候,没有在.dpk中包含类型声明文件_reg.pas。
5)        在config.xml文件中没有引用bpl文件。
回复 支持 反对

使用道具 举报

发表于 2007-6-8 09:34:56 | 显示全部楼层
这个控件有一个函数是从文件中打开cad图的
procedure TMicroDrawOcx.OpenFile(const filename: WideString);
你只要把字段中的内容保存到一个临时文件,然后调用上面的函数来打开临时文件就可以了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-8 10:24:18 | 显示全部楼层
临时文件?什么意思?从数据库中取出存到本地然后再打开?
回复 支持 反对

使用道具 举报

发表于 2007-6-8 10:34:18 | 显示全部楼层
是的,这样最简单,而且效率也高些。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-8 10:56:52 | 显示全部楼层
我们的需求是这样的:
有一个DataGrid具体连接附件数据库,但点击各具体数据的时候,能让文件在TMicroDrawOcx中预览显示,是达到预览的效果。
下载到本地不现实吧?
如果非要下载到本地,能否给段示例代码呢??
万分感谢!需求急
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-8 14:36:33 | 显示全部楼层
帮帮忙!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-6-8 15:03:24 | 显示全部楼层
我现在使用先保存到本地,然后进行显示
出错:
  lFileName := FRefDataSet.FieldByName(FFileNameField).AsString;
  WJMC := lFileName;
  if (lFileName = '') or (lFileName = nil) then
  begin
   jsdialogs.ShowMsg('当前单据还没有上传附印件,请先上传!','');
   sysutils.Abort;
  end ;
  LoadFromDB;
  with Business.Forms.TSaveDialog.Create(nil) do
  begin
      InitialDir := 'C:\TEMP';//设置默认路径
      if SysUtils.FileExists(FileName) then
        if not jsDialogs.ConfirmBox('文件已经存在是否覆盖?', '', 1) then
        begin
          SysUtils.DeleteFile(FileName);
          Exit;
        end;
      SaveToFile(FileName);//保存文件,这一步执行完后出现如图错误
    //end;
  end;
end;

这个函数是我对文件另存的修改。论坛上有。
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-1-11 18:37 , Processed in 0.047399 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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