关于对ActiveX控件的再包装问题,知道的进来看下!急!

zdnet 2006-08-24 02:52:57
本人对ActiveX没啥研究,但是最近有客户需要做一个控件,是在.net compact framewrok上面跑的。由于精简框架对com组件的调用十分麻烦,所以本人寻遍千山万水找了个com 容器,通过它可以十分方便的调用PDA上的各个com object,但是毕竟是别人的东西,不可能直接给客户吧,所以想用.net在此ActiveX上封装一层,同时加上一些控制再给客户,但是问题来了。。。
控件直接拖在Form上是没问题的,但是为啥不能拖到UserControl上面捏?用UserControl直接继承此控件也不行, 试图创建 MediaPlayer 的实例时发生异常。异常为“给定的程序集名称或基本代码“Microsoft.WindowsCE.Forms”无效。”。因为自己对控件做得少,只好请教下各位大大了,这样用.net封装ActiveX可行吗?怎么实现?要注意哪些问题?控件的设计界面能否在封装后保留下来?
...全文
254 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
zdnet 2006-08-24
  • 打赏
  • 举报
回复
算了~~直接在代码里调用得了,一切换到设计状态就提示
试图创建 MediaPlayerLib.MediaPlayerControl 的实例时发生异常。异常为“给定的程序集名称或基本代码“Microsoft.WindowsCE.Forms”无效。”。

不理解是什么原因。。。。现在自己封装了一层
给分。。。

zdnet 2006-08-24
  • 打赏
  • 举报
回复
csc /noconfig /define:NETCFDESIGNTIME /target:library /out:Design.MediaPlayerControl.dll MediaPlayerControl.cs /r:"D:\develop tools\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\Designer\System.CF.Design.dll" /r:"D:\develop tools\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\Designer\System.CF.Windows.Forms.dll" /r:"D:\develop tools\Microsoft Visual Studio .NET 2003\CompactFrameworkSDK\v1.0.5000\Windows CE\Designer\System.CF.Drawing.dll" /r:System.Windows.Forms.dll /r:System.Drawing.dll /r:System.dll /r:System.XML.dll /r:Odyssey.WMPCE.dll /r:Odyssey.CFCOM.dll /nowarn:1595

在compact framework里需要把dll转成设计模式。。。
---------------------------
Microsoft Development Environment
---------------------------
试图创建 MediaPlayerLib.MediaPlayerControl 的实例时发生异常。异常为“给定的程序集名称或基本代码“Microsoft.WindowsCE.Forms”无效。”。
---------------------------
确定
---------------------------
我晕了,还是这个问题~
zdnet 2006-08-24
  • 打赏
  • 举报
回复
wince上的控件。。。
Knight94 2006-08-24
  • 打赏
  • 举报
回复
你用ce干什么?
zdnet 2006-08-24
  • 打赏
  • 举报
回复
试图创建 Odyssey.WMPCE.MediaPlayer 的实例时发生异常。异常为“给定的程序集名称或基本代码“Microsoft.WindowsCE.Forms”无效。”。

在引用里添加是没问题,编译也没问题。
但是原来ActiveX有的设计界面出不来,提供给客户的肯定是拖拽方式放在form上的。

我还是先自己熟悉下这东东。。。要不高手们对我也是对牛弹琴~哈哈
真相重于对错 2006-08-24
  • 打赏
  • 举报
回复
usercontrol可以用ActiveX啊,你出什么错???
Knight94 2006-08-24
  • 打赏
  • 举报
回复
to 但是现在问题是我怎么把ActiveX的东东整到我自己的dll里

使用控件或者类库方式,然后引入这个com即可,不过你需要重新封装一下。
zdnet 2006-08-24
  • 打赏
  • 举报
回复
那有没有办法使这个组件和dll直接打成一个包呢?如果没有办法也没关系,
客户没那么聪明会直接调用那个组件的,肯定是调用我指定的dll。
但是现在问题是我怎么把ActiveX的东东整到我自己的dll里
Knight94 2006-08-24
  • 打赏
  • 举报
回复
to 重写一遍是指的重新实现控件功能吗?我没有控件源码,实现不了。。。
我现在应该怎么做呢?3Q
我封装的目的就是为了加上自己的license控制

问题是你用.net加一层后,最多在原有ocx基础上有一个.net的dll而已,并不妨碍别人直接使用ocx。
hzh_wen_x 2006-08-24
  • 打赏
  • 举报
回复
up
zdnet 2006-08-24
  • 打赏
  • 举报
回复
重写一遍是指的重新实现控件功能吗?我没有控件源码,实现不了。。。
我现在应该怎么做呢?3Q
我封装的目的就是为了加上自己的license控制
Knight94 2006-08-24
  • 打赏
  • 举报
回复
对activex的包装,除非用.net重写一边,否则意义不是太大,最多就是方便调用而已。

因为布署的时候,activex一样需要安装。

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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