Out of breath - second try

new topic     » topic index » view thread      » older message » newer message

Hello list,

it seems that the code I attached was not sent completely due of the 
dashes between the procedures. So I would like to try it again:

The following little program works quite nice, but somehow I am loosing
my gdi and system resources in Win95 and Win98 (probably in Win Me too)
when running it. I am using Euphoria v 2.3 and win32lib 57.9 with some
changes I found in the mailing list.
Using Window´s resource monitor (Rsrcmtr.exe) I can see visually how my
little pc gets out of breath after starting the show. Am I doing
something wrong? After exiting the program the resources are (almost)
released again. I suppose I need some more statement anywhere in the code?

Kind regards

Roland Stowasser


include Win32lib.ew
without warning

integer ticks ticks = 0

constant Window1 = createEx( Window, "Art Gallery", 0, Default, Default, 
400, 300, 0, 0 )
constant PolyTime = 2000
constant PushButton2 = createEx( PushButton, "Exit", Window1, 8, 12, 88, 
28, 0, 0 )
constant PushButton4 = createEx( PushButton, "Start", Window1, 8, 48, 
88, 28, 0, 0 )
constant PushButton6 = createEx( PushButton, "Stop", Window1, 8, 84, 88, 
28, 0, 0 )


procedure Polygon()
integer z
sequence size, points
integer height, width

     z = rand(20)+12

     size = getClientRect(Window1)
     height = size[4]-size[2]
     width  = size[3]-size[1]

     -- define array
     points = repeat({0,0}, z)

     -- fill array
     for a = 1 to z do
         points[a][1] = rand(width)
         points[a][2] = rand(height)
     end for
     setPenColor( Window1, rand(255*255*255))
     drawPolygon( Window1, True, points)

end procedure

procedure Window1_onClose (integer self, integer event, sequence params)
     killTimer ( Window1, PolyTime )
end procedure
setHandler(Window1, w32HClose, routine_id("PushButton4_onClose"))

procedure Window1_onPaint (integer self, integer event, sequence params)
     Polygon()
     Polygon()
end procedure
setHandler( Window1, w32HPaint, routine_id("Window1_onPaint"))

procedure Window1_onResize (integer self, integer event, sequence params)
     setBackColor(Window1, 0)
     repaintWindow(Window1)
     Polygon()
end procedure
setHandler( Window1, w32HResize, routine_id("Window1_onResize"))

procedure Window1_onTimer (integer self, integer event, sequence params)
     ticks += 1
     setBackColor(Window1, 0)
     repaintWindow(Window1)
     Polygon()
end procedure
setHandler( Window1, w32HTimer, routine_id("Window1_onTimer"))

procedure PushButton2_onClick (integer self, integer event, sequence params)
     closeWindow(Window1)
end procedure
setHandler( PushButton2, w32HClick, routine_id("PushButton2_onClick"))

procedure PushButton4_onClick (integer self, integer event, sequence params)
     setTimer ( Window1, PolyTime, 1000 )
end procedure
setHandler(PushButton4, w32HClick, routine_id("PushButton4_onClick"))

procedure PushButton6_onClick (integer self, integer event, sequence params)
     killTimer ( Window1, PolyTime )
end procedure
setHandler( PushButton6, w32HClick, routine_id("PushButton6_onClick"))

WinMain( Window1,Normal )

new topic     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu