Hi, I''m trying to write a simple email client using wxruby, and using HTMLWindow to display the email contents. But HtmlWindow seems to have a limit of 2362 bytes on the size of the page it would load - which I found emperically by limiting the size of text i passed into the control. Is this a known problem, or am I setting things wrongly? Here''s the relevant piece of code: <pre> class ItemDetail < Panel def initialize(parent,items,log) super(parent) @items=items @log=log @sizer = Wx::BoxSizer.new(Wx::VERTICAL) add_from add_message set_sizer(@sizer) end def add_from @from=TextCtrl.new(self,-1,"",:name=>"fromtxtctrl") @sizer.add(@from,1,Wx::ALL|Wx::GROW) end def add_message @message=HtmlWindow.new(self,:name=>"msghtmlwindow") @sizer.add(@message,10,Wx::ALL|Wx::GROW) end def setItem(index) begin item=@items[index] @from.set_value(item.from) #@message.set_value(item.body[0..2362]) #emperically found that this is the limit for page size. rescue Exception => err @log.write_text(''invalid item index: "%d, or err:%s"'' %[index,err.message]) end end end </pre> -- Posted via http://www.ruby-forum.com/.
Vk Dee wrote: Correction: the set_value line is not commented out. It should read like so:> @message.set_value(item.body[0..2362]) #emperically found that-- Posted via http://www.ruby-forum.com/.
Vk Dee wrote:> I''m trying to write a simple email client using wxruby, and using > HTMLWindow to display the email contents. But HtmlWindow seems to have a > limit of 2362 bytes on the size of the page it would load - which I > found emperically by limiting the size of text i passed into the > control. Is this a known problem, or am I setting things wrongly? >No, there is no such limit on the size of text to be displayed. Does this problem arise with a particular text, or any HTML text? I would check whether the HTML string you are providing is correctly encoded in UTF-8 - if not, you might get this kind of truncation at an invalid byte.> Here''s the relevant piece of code: >Thanks for posting code, but it''s not possible to check it out unless it''s self-contained and runnable. We can''t reconstruct and imagine what the rest of the program is doing. Often you will find the process of reducing it to a basic sample illustrating the problem will show up the root cause. a
> No, there is no such limit on the size of text to be displayed.ok> > Thanks for posting code, but it''s not possible to check it out unless > it''s self-contained and runnable. We can''t reconstruct and imagine what > the rest of the program is doing. Often you will find the process of > reducing it to a basic sample illustrating the problem will show up the > root cause. >fair enough. i''ll try and put in a self-contained sample. and check out the possibility of rogue html. Thanks -- Posted via http://www.ruby-forum.com/.
Update: it does look like a case of bad html. Thanks for the quick response. I''ll update this thread if there''s anything new to add.>> > fair enough. i''ll try and put in a self-contained sample. and check out > the possibility of rogue html. > Thanks-- Posted via http://www.ruby-forum.com/.
Vk Dee wrote: Final update: My fix in case anyone has the same problem was to replace all non-printable characters like so: htmlstring.gsub(/[^[:print:]]/, '''')> Update: it does look like a case of bad html. > Thanks for the quick response. I''ll update this thread if there''s > anything new to add. >-- Posted via http://www.ruby-forum.com/.