Web中怎样调用Activex 控件? 这个控件又怎样做呢?? (300分)

  • 主题发起人 主题发起人 Puma Wang
  • 开始时间 开始时间
P

Puma Wang

Unregistered / Unconfirmed
GUEST, unregistred user!
用Delphi 或者 VC 来做一个控件. 为了在 java 的网页中能调用它,
同时传输一些参数过去,让它显示。 就象那个pdf 那样的。
用户打开时 ,如有需要下载这个控件,已经下载了的,直接运行这个控件。

请做过的 随便说说吧!! 谢谢了。
 
随便说点吧?
 
给你一段代码,什么都清除了。
<SCRIPT LANGUAGE="JavaScript">
<!--
function showsetting()
{
RPControl.ShowVideoCardFormatDialog();
}
var ErrorCode,ErrorString;
function endencode()
{ try {
if (RPControl.IsEncoding)
RPControl.StopEncoding()
else
alert("not encoding !")

}
catch (e) {
alert(e);
}
}
function startencode()
{ try {
RPControl.InputDoEvents = true;
//RPControl.ShowVideoCardFormatDialog();
if (RPControl.IsEncoding )
alert("is encoding !")

else {
RPControl.LoadProducerSettings();
RPControl.ServerFilename = setting.FileName.value

RPControl.Title = setting.CourseName.value;
RPControl.Auther = setting.TeacherName.value;
RPControl.StartEncoding();
}
}
catch (e) {
alert(RPControl.GetErrorString(RPControl.LastError)+'#'+e);
}
}
function RPControl_OnErrorOccurred(ErrorCode,ErrorString)
{
alert(ErrorString);
}
-->
</SCRIPT>
<TITLE>New Page</TITLE>
</HEAD>
<BODY>
<table align=center><tr><td>
<OBJECT ID="RPControl" NAME="RPControl" WIDTH=400 HEIGHT=156
CLASSID="CLSID:56919D41-BE39-11D2-A404-00104BDF4755"
CODEBASE="http://192.168.100.11/">
<PARAM NAME="_ExtentX" VALUE="10583">
<PARAM NAME="_ExtentY" VALUE="4128">
<PARAM NAME="InputType" VALUE="1">
<PARAM NAME="InputFilename" VALUE="">
<PARAM NAME="InputCaptureAudioDriver" VALUE="0">
<PARAM NAME="InputCaptureVideoDriver" VALUE="0">
<PARAM NAME="InputDoAudio" VALUE="-1">
<PARAM NAME="InputDoVideo" VALUE="0">
<PARAM NAME="InputDoEvents" VALUE="-1">
<PARAM NAME="DoOutputFile" VALUE="0">
<PARAM NAME="DoOutputServer" VALUE="-1">
<PARAM NAME="OutputFilename" VALUE="">
<PARAM NAME="TempDirectory" VALUE="C:/Temp">
<PARAM NAME="ServerName" VALUE="eosweb">
<PARAM NAME="ServerPort" VALUE="4040">
<PARAM NAME="ServerFilename" VALUE="livenew.rm">
<PARAM NAME="ServerUserName" VALUE="admin">
<PARAM NAME="ServerPassword" VALUE="123">
<PARAM NAME="ServerTransport" VALUE="0">
<PARAM NAME="ListBroadcast" VALUE="-1">
<PARAM NAME="Title" VALUE="">
<PARAM NAME="Author" VALUE="thtf">
<PARAM NAME="Copyright" VALUE="2003">
<PARAM NAME="Description" VALUE="">
<PARAM NAME="Keywords" VALUE="">
<PARAM NAME="Rating" VALUE="0">
<PARAM NAME="Indexable" VALUE="-1">
<PARAM NAME="MobilePlay" VALUE="-1">
<PARAM NAME="SelectiveRecord" VALUE="-1">
<PARAM NAME="Target28KModem" VALUE="0">
<PARAM NAME="Target56KModem" VALUE="-1">
<PARAM NAME="TargetSingleISDN" VALUE="0">
<PARAM NAME="TargetDualISDN" VALUE="0">
<PARAM NAME="TargetDSLCableModem" VALUE="0">
<PARAM NAME="TargetLAN" VALUE="0">
<PARAM NAME="AudioContent" VALUE="0">
<PARAM NAME="VideoQuality" VALUE="0">
<PARAM NAME="SureStream" VALUE="-1">
<PARAM NAME="DoAudioOnlyMultimedia" VALUE="0">
<PARAM NAME="EmphasizeAudio" VALUE="-1">
<PARAM NAME="PlayerCompatibility" VALUE="6">
<PARAM NAME="CroppingEnabled" VALUE="0">
<PARAM NAME="ResizingEnabled" VALUE="0">
<PARAM NAME="CroppingLeft" VALUE="0">
<PARAM NAME="CroppingTop" VALUE="0">
<PARAM NAME="CroppingWidth" VALUE="0">
<PARAM NAME="CroppingHeight" VALUE="0">
<PARAM NAME="OutputWidth" VALUE="0">
<PARAM NAME="OutputHeight" VALUE="0">
<PARAM NAME="NoiseFiltering" VALUE="0">
<PARAM NAME="BackColor" VALUE="11126946">
<PARAM NAME="BackStyle" VALUE="0">
<PARAM NAME="Target256KDSLCableModem" VALUE="0">
<PARAM NAME="Target384KDSLCableModem" VALUE="0">
<PARAM NAME="Target512KDSLCableModem" VALUE="0">
<embed WIDTH=399 HEIGHT=156></embed>
</OBJECT>
<SCRIPT LANGUAGE="javascript" FOR="RPControl" EVENT="OnErrorOccurred(ErrorCode,ErrorString)">
alert(ErrorCode+ErrorString);
</SCRIPT>
<SCRIPT LANGUAGE="javascript" FOR="RPControl" EVENT="OnEncodingStarted()">
alert( "±à&amp;Acirc;&amp;euml;&amp;iquest;&amp;ordf;&amp;Ecirc;&amp;frac14;");
document.message.contents.value = "±à&amp;Acirc;&amp;euml;&amp;iquest;&amp;ordf;&amp;Ecirc;&amp;frac14;";
</SCRIPT>
<SCRIPT LANGUAGE="javascript" FOR="RPControl" EVENT="OnEncodingStopped()">
document.message.contents.value = "±à&amp;Acirc;&amp;euml;&amp;frac12;á&amp;Ecirc;&amp;oslash;";
</SCRIPT>
<SCRIPT language="javascript" for="RPCont" event="OnEncodingProgressChanged(Duration, PercentDone, Timestamp, AudioLevel)">
document.message.status.value = Duration + PercentDone + Timestamp + AudioLevel;
</SCRIPT>
 
Type Library中增加一个方法GetParam(),
创建<OBJECT id=objID
......
</OBJECT>
<script language=javascript>
objID.GetParam();
</script>
 
上面的仁兄能给一点代码解释吗?
有delphi做activex控件(组件)我是概念不清的,我也正在探索做,我能知道一点就是如果用于网页的组件,从新建activex页入手,先选择activex libarary,然后再一次从activex页入手,选择active server object来构建你的基类,千万别选成别的了,因为它们的祖先都不一样,我原来也认为弄一个都行,结果是没有好好学习com编程,我试过用vb设计组件,真有点简单,后来才发现是过份简单了。这们做的是没有有form也就是组件不是控件(我的理解可能不对,我只会用对为原则,掌握一点点原理而已),要是想用控件,可以直接用activeform来解决,这是delphi相当迷人之处,我用它来做一个日程安排的控件(其实很差的)居然很容易。主要设计都在type library中了,把想要的属性和方法框架设计好(我感觉这很难,要是有高手指点就好了,只好自已试着做),然后fresh后到相应的unit中进行方法实现。最后编译,再注册,很高兴delphi相应要生成了一个示例调用,把它弄到网页中。就行了,要想让你的网页在页面就能动,可以用vbscript设计语言来调用控件的方法,因为在页面的组件定义中有pramid,我想这可能就是给程序的一个接口,然后有vb 中调用其方法,就能实现,而且activeform很奇怪,具然可以访问到服务器上的数据库,真不知是怎样做的,这其实也很危险,数据不在完全暴露在光天化日之下。好了,一篇费话。祝你好运
 
接受答案了.
 
后退
顶部