1. Win32Lib 0.53
- Posted by Renzo Beggia <renzo.beggia at VSK.BE> Sep 26, 2000
- 463 views
Hi, Lots of weird things happen with V0.53!!! setbitmap(,) = error code 460 ??? (something with a handle) With Win32lib 0.52 it works fine is Setfont() still eating up GDI resources ??? Renzo Beggia from Belgium
2. Re: Win32Lib 0.53
- Posted by Derek Parnell <derekp at solace.com.au> Sep 27, 2000
- 447 views
Hi Renzo, > >Lots of weird things happen with V0.53!!! You have mentioned two (2) things that are weird. Can I have a list of the other things that you have found weird in v0.53 (unless 2=lots) ? >setbitmap(,) = error code 460 ??? (something with a handle) > >With Win32lib 0.52 it works fine Actually, this didn't work in v0.52 either. V0.52 just ignored the error. At least we now let you know when it happens. I do not know what is causing the error though. The message is displayed when creating a combo-type control and win32lib can't get a hWnd for the combo's edit area. This hWnd is needed to detect key strokes, mouse movements etc ... in the edit area. So, when this problem happens, it means that the TAB key, for example, doesn't move onto the next control. Here is the code in Win32lib... struct = allocate_struct( SIZEOF_POINT ) store( struct, ptX, 1 ) store( struct, ptY, 1 ) hWnd = c_func( ChildWindowFromPointEx, { hWnd, struct, 4 } ) and here is the suggested code from Microsoft's documentation... and yes, I've also tried with just "hWnd = c_func( ChildWindowFromPoint, hWnd, struct} )", with no luck. Sometimes this function works, other times it doesn't. >is Setfont() still eating up GDI resources ??? Yes. setFont() grabs a chunk of RAM every time its called, and doesn't release it until the application ends. It could be a bit more clever, and only hold onto the RAM for each distinct combination of setFont() parameters actually used. When a call comes to setFont() that has the exact same parameters as an earlier one, it could reuse the RAM structure created earlier. I'm not actually sure why its being tracked, but I assume it must need to be. I'll play around with ideas unless somebody says otherwise. ----- cheers, Derek Parnell