webresponse的问题,以前好像见过这样的问题,但是没有解决办法,请高手帮忙关注一下(200分)

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

bambinoo

Unregistered / Unconfirmed
GUEST, unregistred user!
我这儿将图片、影片、flash等资源都放在数据库里。

服务器端从数据库取得资源,代码如下:
procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
begin
...
if not adoquery.IsEmpty then
try
s:=Tmemorystream.Create;
Tblobfield(adoquery.FieldByName('bin')).SaveToStream(s);
s.Position:=0;
response.ContentStream:=s;
response.SendResponse;
finally
s.Free;
end
else
response.Content:='资源不存在';
end
.....
end;

然后通过html编辑器编辑html文档,文档中包含上面资源的请求,如下:
<embed src=http:/..........
quality=high pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?

P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash">

这些html也存在数据库中,现在在intraweb中显示上面的html,
问题是包含图片好像没有问题,当html里面包含较大的flash时,
flash也能播放,但页面静止不动,页面上其他的交互不能使用
状态栏显示页面还没有完全打开,网页也不报错
 
事实上我的这个问题可以归结到iframe的问题
我不知道intraweb里面怎么实现iframe的功能
 
>>我不知道intraweb里面怎么实现iframe的功能
5.0.43版本只好自己开发一个控件了!我的书附带的源代码就有这样一个控件。
6.x以后,第三方提供了跟我的控件一样的空件。
但是,不管怎样,iframe只能通过url绑定其内容,所以需要先将数据库中的东西保存成临时文件。
 
你说的是不是iwurlwindow?
我试过了把数据库中的东西存成临时文件,但是还是不行
给iwurlwindow指定url时,非要等网页完全打开了进程才能跳出来

难道intraweb真的就实现不了真正的iframe吗?
 
>>难道intraweb真的就实现不了真正的iframe吗?
你所说的“真正的iframe”是不是指“局部更新”?
 
是啊,就是这个意思
我试过把要显示的html整个用iframe包起来也不行
不知道怎么办啊
 
后退
顶部