最近在做一个intraweb的小系统碰到的几个问题,请高手指点迷津:
1.页面能自适应分辨率:<styler>body:align-center;</styler>我用frontpage试了都可以的,怎么在tappform中放一个iwtext就是不行
另一中方法,用网页摸版,但是我需要在页面frame中动态的create对象比如iwlink,iwimagefile,这样它又不支持
不知道该怎么办,困惑...
2.怎么控制intraweb服务器,我不想编译成dll,想直接编译成exe,用户运行它就可以了,启动服务可以了,但就是没找到方法停止它,必须退出程序才行,intraweb7中create一个iwstaondserver对象或application.crate(tformiwmain,formiwmain)就可以了,但freeandnil(formiwmian)可以停止,但再次启动createform时候就不能正常启动服务.请教各位高手.
3.web报表的解决办法,最好能想c/s程序那样可以打印预览.
1.页面能自适应分辨率:<styler>body:align-center;</styler>我用frontpage试了都可以的,怎么在tappform中放一个iwtext就是不行
另一中方法,用网页摸版,但是我需要在页面frame中动态的create对象比如iwlink,iwimagefile,这样它又不支持
不知道该怎么办,困惑...
2.怎么控制intraweb服务器,我不想编译成dll,想直接编译成exe,用户运行它就可以了,启动服务可以了,但就是没找到方法停止它,必须退出程序才行,intraweb7中create一个iwstaondserver对象或application.crate(tformiwmain,formiwmain)就可以了,但freeandnil(formiwmian)可以停止,但再次启动createform时候就不能正常启动服务.请教各位高手.
3.web报表的解决办法,最好能想c/s程序那样可以打印预览.
解决方案 »
- 有没有人做过安装盘?数据库别名怎么弄?
- 我最近做了一个Shell扩展,不知道怎么调试?
- 用怎样的结构做软件比较灵活?
- Iintrweb添加Fram后,用MOVE事件,老是提示WebApplication没有定义?
- tquery组件的动态获取参数对多表进行联合查询,
- 各位高手注意:已知另外一个窗体的button的handle,如何截取它的单击消息,连到我的窗体中的一个过程??
- 誰知道:Script RedLof.htm是什么病毒?(在线)
- 请教各位高手,如何才能使combobox中显示出本机的所有字体?就像word的字体选择一样。
- 关于狗的问题。
- 简单问题,望各位大侠不吝指教
- 大家帮忙啊 怎样获取 硬盘的个数 和每块硬盘的 串号 啊??
- DBGRID在数据库添加了记录后不能显示出新记录?
2,没试过,我用dll
3,没想过
4,“由于Intraweb 6.x之后,产生的页面结构有了变化,因此上面的代码已经不太适合。应几个朋友的约请,我忙了一下午,我发现onunload的时候脚本确实执行了,但是好像SubmitForm.submit()没有执行,没有搞明白怎么回事,由于时间关系没时间理它了,换个思路搞定它算了。
这个方法虽然有点“绕”,但还是能够解决问题的!
其他的地方不变(窗口上必须一个用来关闭页面的按钮,假设叫做IWBUTTON1),只要修改IWText1的内容即可。修改结果如下:
<script FOR=window EVENT=onunload>
var s='';
var w;
SubmitForm.IW_Action.value='IWBUTTON1';
SubmitForm.IW_ActionParam.value='';
s='<html><body>'+document.forms['SubmitForm'].outerHTML+'</body></html>';
w=window.open('','');
w.document.write(s);
w.document.forms['SubmitForm'].submit();
w.document.forms['SubmitForm'].close();</script>思路:
打开一个新窗口,它的内容仅包含一个form,这个form与原来页面上的submitform完全相同。
调用新窗口的submit(),然后关闭新窗口。我调试通过了,但是我的iw是7.0.21。“
-----------------
附:如果是页面跳转的话,也会出发onunload事件,你怎么解决?
我们公司想过办法解决了,除了刷新有些问题--超时,另外要借助插件。
www.basicedu.cn
2.我是这样做的,exe下调式,dll在IIS下发布.PK.EXE(一个可以关任意进程的软件,) kill 掉dllhost.exe 进程.
3.用IE6.0的WebBrowser打印组件,用JS在客户端实现打印,CSS控制打印效果(哪些控件不需要打印),预览功能需要在客户端设置ACTIVEX的安全级别.
一.在需要打印的FORM的ExtraHeader属性加上以下代码(我是在IW5下实现的)
<style media=print>
input{display:none;}//让BUTTON在打印的时候不可见.该页面不要在外连其他CSS文件.所有需打印显示的数据写在GRID里.
.pageEnd {page-break-after:always} //很痛苦,如果要翻页打印的话都会多打一空白页,如果不需翻页可不要,或者根据数据量多少写JS动态修改.
</style>
<OBJECT id=WebBrowser classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2 height=0 width=0 VIEWASTEXT>
</OBJECT>//调用IE的WebBrowser组件,IE5以上.
二.丢一个打印button到FORM里面,不要在IW下写任何ONCLIK的代码,在button的ExtraTagParams属性加上:onclick=javascript1.2:window.print()
丢一个预览button到FORM里面,同样不要写任何ONCLIK的代码,在button的ExtraTagParams属性加上:onclick=document.all.WebBrowser.ExecWB(7,1)
WebBrowser组件还有很多功能,可以去查.....
当然你要打印显示GRID必须在Template里显示正常(必须要用到Template)
4.看不大懂,通常IW出了问题的地方,我就会看HTML...我已经用iw5开发了几个项目,感觉用的不错,基本上JSP上能实现的东西.IW+js都可以实现
PK.exe 能杀这个iis进程啊?速度快吗?是否稳定?
谢谢
to eliuren:IW下打印的例子吗?说的很详细了,自己尝试一下,带问题来问。
不过跟踪dll,不行。想调试一下,都很麻烦
用exe一套模板就报错。
另外很多时候必须在加载有模板的情况下测试,要不网站出了什么问题就很难查到。
在IIS下发布或EXE下调试,在HTML模板页中,图片都可以用相对路径,<img src="../files/banner.gif"> ,EXE可以带模板页调试,如果套用EXE就报错,(单独EXE运行没问题),那一定是你的模板页*.HTML出错了,例如:"{%lab1%}"写成"lab1%}"或空"{%%}",通常会报行错,看得懂HTML的话,很容易修改,模板页还有个优势,所有的前台JS都可以在模板页写.
但是你认为这样好管理吗?
实际情况,项目部署的时候,图片一般不会放在那个位置,自定义目录
另外一个问题 files底下的东西是随意可以下载的,我可不想我的模板被人下载