救救大陆的Delphi程序员吧(Intraweb Web报表 ActiveX在Intraweb中的应用)抛砖引玉,目的在于吸引更多的人一起研究Delphi的Web报表,Intraweb中ActiveX组件的应用知道您忙,所以我是没办法了才去找您,希望您能给点思路,以下是我在几个Delphi的几个论坛发的贴子,希望您能百忙之中抽空看看http://expert.csdn.net/Expert/topic/1933/1933958.xml?temp=.9307978http://www.delphibbs.com/delphibbs/dispq.asp?lid=1965142http://www.51delphi.com/delphi/showtl?ID=32072----------------各大中文论坛几乎无人能解,困惑ing......http://expert.csdn.net/Expert/topic/1891/1891098.xml?temp=.1868402

解决方案 »

  1.   

    intraweb manual上, 最后一句话,可以不用activex, 你需要它做什么?IntraWeb adjusts for these differences automatically. IntraWeb generates the appropriate
    HTML and JavaScript code for the browser. IntraWeb even knows about certain bugs in
    specific versions of each browser and works around them dynamically. In other cases,
    output for each browser is optimized. IntraWeb performs all of this transparently to you
    and without using Java, ActiveX, or any plug-ins.
      

  2.   

    需要ACtiveX呀,比如用MeidaPlayer在播放歌曲等等,这是IntraWeb没有提供的强烈支持楼主
      

  3.   

    MeidaPlayer在播放歌曲加个iwtext控件, RawText 设 True  iwtext1.Lines.Text :=
      '<p>'
    +'<object classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" id="WindowsMediaPlayer1" width="245" height="240">'
      +'<param name="URL" value="http://XXX/XXX/XX.avi">'     ////iis发布
      +'<param name="rate" value="1">'
      +'<param name="balance" value="0">'
      +'<param name="currentPosition" value="0">'
      +'<param name="defaultFrame" value>'
      +'<param name="playCount" value="1">'
      +'<param name="autoStart" value="-1">'
      +'<param name="currentMarker" value="0">'
      +'<param name="invokeURLs" value="-1">'
      +'<param name="baseURL" value>'
      +'<param name="volume" value="50">'
      +'<param name="mute" value="0">'
      +'<param name="uiMode" value="full">'
      +'<param name="stretchToFit" value="0">'
      +'<param name="windowlessVideo" value="0">'
      +'<param name="enabled" value="-1">'
      +'<param name="enableContextMenu" value="-1">'
      +'<param name="fullScreen" value="0">'
      +'<param name="SAMIStyle" value>'
      +'<param name="SAMILang" value>'
      +'<param name="SAMIFilename" value>'
      +'<param name="captioningID" value>'
      +'<param name="enableErrorDialogs" value="0">'
      +'<param name="_cx" value="6482">'
      +'<param name="_cy" value="6350">'
    +'</object>'
    +'</p>';
      

  4.   

    我用delphi作web服务,作gis方面的,要用到activex(mapx)空间,我挣着急呢,请问怎么用呢?
      

  5.   

    我已经实验了一下,现在我知道如何在intraweb中调用activex了,下面我说一下范例
    有这么一个程序,在ActiveXform上有一些报表控件,而在intraweb界面上有一个iwedit,希望通过对iwedit上输入sql语句,来实现报表的产生。
    (1)产生一个ActiveXForm,上面有Query\DataSource还有几个报表控件,在Type Libary里增加一个SQL:widestring read Get_SQL的属性,这个是用来接收SQL语句的,在它的Get_SQL中写出调用ActiveForm.Query执行SQL的代码
    (2)注册这个ActiveFormX,这个时候,启动FrontPage,建立一个新的页面,然后在这个页面中插入你新建的ActiveXForm
    (3)在FrontPage里分析一下你的脚本看看,你有了全新的发现,在加入ActiveXForm的脚本是这么写的
      <object   classid:....classid.......    width........ height......>
        <param name="caption“  value="activeXform1">
           ................
        <param name="SQL" value="">
      </object>
       这个说明了什么呢?说明了IntraWeb完全可以通过产生动态脚本的方式插入ActiveXForm的控件,而且可以通过指定<param name..........value.........>的方式控制ActiveXForm执行什么样的工作。
    (4)那么我们回到Intraweb,加入一个iwbutton,再加一个iwedit,我们可以写iwbutton来动态产生插入ActiveXForm的脚本。
         这里有个问题,那么由谁加载这个脚本呢?我觉得最好的就是IwText,那么再在Iwform上放一个IwText,这个时候写Iwbutton的OnClick的事件代码
         IwText1.lines.clear;
         IwText1.lines.add( '<object   classid:....classid.......    width........ height......>
        <param name="caption“  value="activeXform1">
           ................');
         IwText1.lines.add('<param name="SQL" value="'+IwEdit1.text+'">');
         IwText1.lines.add('</object>');
    (4)OK了,你执行一下,现在的ActivexForm就可以加载到Intraweb上,并且一出现,就执行了IwEdit里指定的SQL语句(5)一句话"
       1.通过动态产生<object>...........</object>脚本的方式加载ActiveForm
       2.通过动态产生<param name ....  value>脚本的方式与ActiveForm传递参数
       最后注意一下,刚才说的IwText的RowLine的属性必须为True,以免IwText自动换行或者加那些不该有的空格
      

  6.   

    to Tod707070(幸福的秋天),这样做的效果是不是报表位置只在iwtext范围内?
      

  7.   

    不是的,Iwtext并没有指定大小,大小的指定是在调用Iwtext.Text的脚本里的,建议你自己建立一个ActiveX,然后在FrontPage里面加载后自己分析一下HTML的写法。
    我就是这么做的!
      

  8.   

    实际上ActiveXForm的大小是在脚本
    <object   classid:....classid.......    width........ height......>
    的地方指定的,至于说Top\left,这个是依据IWText的位置
      

  9.   

    实际上ActiveXForm的大小是在脚本
    <object   classid:....classid.......    width........ height......>
    的地方指定的,至于说Top\left,这个是依据IWText的位置