C#开发ActiveX控件问题求助,200分奉上!

Sinba69 2011-11-24 10:14:59
这个地址有介绍用C#开发ActiveX控件的例子http://archive.cnblogs.com/a/2180781/
具体如下图,

我按照这个方法做的,怎么在网页里显示不出它的内容呢?
有没有人给指点一下,一旦解决,另外开贴附送100分。
...全文
215 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sinba69 2011-11-29
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 sandy945 的回复:]

另外需要注意的是,项目属性中,在“程序集信息”对话框中将“使程序集COM可见”复选框选上。属性“生成”卡中选中“为COM interop 注册”。
--------------------------------
http://www.cnblogs.com/qinwater/archive/2008/04/28/1174511.html
[/Quote]网上提供的大多都没法调试成功
Sinba69 2011-11-27
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 csnd_freeman 的回复:]

还要写GUID
[/Quote]
能给指点指点怎么写吗?针对上面这个例子
Sinba69 2011-11-27
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 sandy945 的回复:]
另外需要注意的是,项目属性中,在“程序集信息”对话框中将“使程序集COM可见”复选框选上。属性“生成”卡中选中“为COM interop 注册”。
--------------------------------
http://www.cnblogs.com/qinwater/archive/2008/04/28/1174511.html
[/Quote]
这个我已经注意了,13楼那个说classid要写成guid,这个应该不正确吧?如果写了那个,怎么知道是调用哪个类?请给指点!谢谢
Sinba69 2011-11-27
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 shelless 的回复:]
classid值应该是guid,还有控件是否注册。
[/Quote]

这个要更改成GUID?是这样吗?
阿非 2011-11-27
  • 打赏
  • 举报
回复
另外需要注意的是,项目属性中,在“程序集信息”对话框中将“使程序集COM可见”复选框选上。属性“生成”卡中选中“为COM interop 注册”。
--------------------------------
http://www.cnblogs.com/qinwater/archive/2008/04/28/1174511.html
  • 打赏
  • 举报
回复
如果你想让用户访问网页,例如通过搜索引擎、互联网广告直接看到你的应用程序,并且使用c#(版本3甚至4)编程,你可以开发silverlight程序,而不是桌面程序。例如

http://www.tcgchina.org/PortfolioDetail.aspx?portfolioId=62
http://pjd.mscui.net/default.htm
http://labs.cas.de/silverlight/CASCRMSL3/
  • 打赏
  • 举报
回复
你难道假设所有客户端都安装过你所使用.net framework版本的类库?我觉得这比较过分。如果这可以期望,那么是使用clickonce方式发布桌面程序就可以了(这仍然是通过互联网发布),完全用不着ActiveX方式。

如果要开发ActiveX,建议使用vs6以前版本,使用vb6或者vc6,开发纯粹native的代码。
shelless 2011-11-27
  • 打赏
  • 举报
回复
classid值应该是guid,还有控件是否注册。
zincy 2011-11-25
  • 打赏
  • 举报
回复
Web页使用C#控件不太好用。
mjp1234airen4385 2011-11-25
  • 打赏
  • 举报
回复
你的控件是不是在客户端没有安装呀?
孤独的行者牛 2011-11-25
  • 打赏
  • 举报
回复
贴出你的代码看看啊,你是不是没有生成新的GUID呢?
以前写过,OK的
Sinba69 2011-11-25
  • 打赏
  • 举报
回复
有没有高手给指点指点
freemangood 2011-11-25
  • 打赏
  • 举报
回复
还要写GUID
Sinba69 2011-11-25
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 zdzcool 的回复:]
页面调用的时候,GUID没错吧。
[/Quote]

网页里不是写下面的内容吗?

<body bgcolor='#223344'>
<object id="helloworld" classid='http://localhost/HelloWorld.dll#HelloWorld.MyUC' Width="184" Height="96" VIEWASTEXT> </object>
</body>
zdzcool 2011-11-25
  • 打赏
  • 举报
回复
页面调用的时候,GUID没错吧。
Sinba69 2011-11-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 mjp1234airen4385 的回复:]
你的控件是不是在客户端没有安装呀?
[/Quote]
在服务器端就无法显示啊!
Sinba69 2011-11-25
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bduren 的回复:]
贴出你的代码看看啊,你是不是没有生成新的GUID呢?
以前写过,OK的
[/Quote]

下面这步,我做过了

修改用户控件后台代码,代码如下,

using System.Runtime.InteropServices;

namespace HelloWorld
{
[Guid("F3F99F87-276D-4F7C-96F9-85F5261773CD")]
public partial class Demo: UserControl
{
public Demo()
{
InitializeComponent();
}
}
}
Sinba69 2011-11-24
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dylike 的回复:]
在DLL的工程属性中要公开COM
[/Quote]

这个已经设置过了
dylike 2011-11-24
  • 打赏
  • 举报
回复
在DLL的工程属性中要公开COM

110,533

社区成员

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

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

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