如何创建在IE里面可以点某种类型的文件而被激活的ActiveX,并直接解析此文件?(200分)

  • 主题发起人 主题发起人 bluehope
  • 开始时间 开始时间
B

bluehope

Unregistered / Unconfirmed
GUEST, unregistred user!
全文检索后,发现我的问题和
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1632588
相似。只是还有些环节不清楚。
现在大概技术方案及进展如下:
1.采用ACTIVE FORM.
2.注册MIME类型,关联特定文件类型与此ActiveX。
3.假设此文件类型为 ".tst",将DEMO.TST例子文件放置在WEB服务器中,使用IE
访问http://webserver/demo.tst时,IE可以自动加载我的ACTIVEX.
问题:
1.ActiveX如何读取该文件,即demo.tst的文件内容。
2.我的WEB服务器可能以动态数据流的形式向客户端发送数据,而非固定的文件,
即先发送指定格式的Content Type数据头,如"application/tst",然后发送
实际数据流,这时我的ACTIVEX如何接收该数据流。

BTW:提供一下思路也有分,这个问题困扰俺数周了。多谢各位!
 
问题一: 下载下来再处理就可以了,不用注册MIME不是也可以么?
问题二:这个不懂,也许通过ActicveX和你的服务器建立一个TCP连接就可以了吧?
 
1.不注册MIME,将弹出提示,询问保存还是打开,IE不会自动加载我写的ACTIVEX.

谢谢关注。
 
我才明白你的意思

是不是可以通过一个网页内嵌你的ActiveX,访问了这个网页就访问了你的ActiveX,加载后通过ActiveX去DownLoad这个文件,这样总可以吧?不过这样可能涉及到代理什么的问题...
 
其实,我主要想用ActiveX实现类似原来netscape中的PLUGIN的功能。
netscape利用回调函数通知plugin dll,实现数据流的传递。即netscape
启动PLUGIN后,可以把远程的指定类型文件以stream的方式发送给PLUGIN.
plugin就可以解析并处理这个数据流或文件了。
现在IE不支持PLUGIN了,我想用ACTIVEX来实现这个功能。不知道应该采取
什么方案比较合适,至于代理的问题,暂时可以忽略。
 
[:(] 不懂,帮提前一下吧
 
ActiveX用Scoket把文件拖过来然后播放,或者其他你想要的处理。
 
自己搞定了:
1.在ActiveX的接口中增加一个src属性,当ActiveX在IE中运行时,该属性表示当前IE中
的URL。
2.读取SRC,即URL,然后用URLMoniker把数据流读取下来,主要优点是可以知道数据流下
载的进度及其他状态。当然也可以用其他方式。
在这里关键是第一步,获得了URL什么都好处理了。
 
下载是怎么处理的是用多线程么,现在我做一个类似的东西用的是回调效果不太好
 
delph系统带了一个UrlMon.pas,里面封装了Moniker。
我这里还有一个用Delphi封装Moniker的非常好的控件。给我地址,我给你发过去。
关于Moniker的技术细节,你到MSDN上看一下查相关资料。
我这里下载不是使用多线程,当然你可以用。关于回调的问题,Moniker里面有
一个接口,IBindStatusCallback,估计可以实现你要的功能。当然在控件里,
也封装了此功能,用起来非常方便。
 
看来咱们用的是同样的方法,如果网速慢的话IE窗口会一顿一顿的你可以试试看
这个东西的好处就是无需考虑代理问题,会自动弹出用户密码输入框省了好多事情

不过这个控件你还是发给我吧,我自己写了但是没有封装成控件

ishyboy@163.com 谢谢[:D]
 
me也想要,sunyeclipse@sohu.com, 谢谢先
 
radtek
你的信箱拒绝我的信件,发不过去。
 
bluehope老兄
给我发一个吧,谢谢!
tjj007@cattsoft.com
 
tjj:最近出差,等回去吧
 
后退
顶部