:)
OK I realized that my condition is not that you wanted but if you change it
to:
if $killed != true, it should be what you want ....
... you also need to be able to break out of the loop which can be achieved
by:
changing: "every 1 do" to e.g. : "t=every 1 do" and then adding to IF
statement : "else t.remove"
Sorry for not being correct at the first place.
K
On Sat, Dec 6, 2008 at 10:50 PM, Krzysztof B. Wicher <[EMAIL PROTECTED]>wrote:
> Hi,
>
> First of all, your until loop was not correctly conditioned ("untill
> $killed = true" will run forever :) ... but still even after correcting the
> condition I could not make it to work for some reason Shoes hung. Try this,
> it worked for me .. at least third window started to display some data;)
>
> require 'socket'
>
> Shoes.app do
> $server = TCPSocket.new("projectbob.game-host.org", 4000)
> $killed = false
> window do
> flow :width => 600 do
> every 1 do
> if $killed == true
> line = $server.gets
> para line
> end
> end
> end
> end
> window do
> flow do
> $prompt = edit_line :width => 550
> $prompt.text = "Type here!"
> ok = button "snd"
> ok.click { $server.puts($prompt.text) }
> end
> end
> button "Disconnect" do
> $killed = true
> end
> end
>
> K
>
>
>
>
> On Sat, Dec 6, 2008 at 10:00 PM, Timothy McDowell <[EMAIL PROTECTED]>wrote:
>
>> http://pastie.org/332844
>> The above code should work, no?
>>
>> The three windows are open (I know, silly, but I'll explain later), I can
>> type into the one and click the 'snd' button, but nothing ever shows up on
>> the window that is supposed to be written on by the MUD. Any thoughts? Also,
>> that 'window do' bit opens up its own background thread, correct? It
>> runs separately from the other windows?
>>
>> Thanks in advance!
>> --
>> --Timothy.
>>
>
>