Administrators Farshad Mohajeri Posted April 9, 2012 Administrators Posted April 9, 2012 New version 0.89.0 can downloaded from here. Related Ext JS Runtime is here. 0.89 is another step towards stability and a major step towards scalability. In past we have had reports regarding server crashes when there was an overrun condition in system resources. A close examine showed us that some of the sensitive and limited OS resources such as GDI objects could overrun when there are hunderds of sessions. To resolve this issue some of the imaging components such as TImageList and TUniImage was redesigned to avoid excessive Memory and GDI resource consumption. We also added a new and detailed server monitor which gives more detailed information regarding resource consumption and other sensitive information. There is a breaking change in this new version: Delphi's standard TImageList is no longer supported. You must replace all instances of TImageList with TUniImageList. Instructions: Open your uniGUI project. Open forms containing TImageList. Switch to DFM mode. Find & Replace all instances of TImageList with TUniImageList. Switch back to Form mode and rebind all ImageLists to related controls. Save your form. You'll be prompted to fix all instances with mismatched type. Answer Yes to all prompts. You can limit max number of sessions. This will allow you to control upper limit for sessions and avoid server overload conditions.. You can also limit a PC or an IP to one session. When you limit one session per IP only one session can be created for each requesting IP. Each new session requests from same IP will destroy any previously created session before creating a new one. Same way you can limit one session per PC (browser). In this methods sessions are tracked by cookies. A browser is only allowed to open one session. All these new features allow you to avoid unwanted sessions from being created. There are also many internal fixes and some new features and components in this version. Note1: XE2 users who want to use UniChart component need to download and install Standard TeeChart package from here. Note2: New installer uses \Program Files folder as default target directory. Changlog: 0.89.0.957 +---------------------------------------------------------------------------------------- - 0001357: TuniStringGrid: RefreshRow bug. - 0001347: Server.OnBeforeInit is not called in service application - 0001344: UniListBox fires extra click events - 0001337: Use FormatSettings instead of deprecated DecimalSeparator and etc. - 0001336: SetCookie Secure parameter added - 0001335: Login feature for server control panel - 0001333: Display Uptime in server control panel - 0001245: Apache server doesn't show timeout error page - 0001324: UniDBGrid: AfterScroll is not fired when page is changed in Page Controller - 0001332: Ajax Error Window causes CPU overload in browser - 0001326: UniDBGrid: Bug when Column.Picklist is assigned and Table is reopened. - 0000841: UniListBox: Multiselect feature - 0001317: TUniBaseControl.Font property should be protected - 0001304: Option to prevent one IP from opening more than one session - 0001003: Option to prevent one PC from opening more than one session - 0001309: Improved Server Monitor with OS resource details - 0001308: Unbuffered TUniImage - 0001306: UniServerModule.ServerLimits Property - 0001311: UniServerModule.ServerResources property - 0001287: UniDBGrid.WebOptions.DefaultFloatFormat Property - 0000995: TImageList resource consumption problem when there are many sessions - 0001292: Component TUniImageList - 0001298: Parameter decode error when CharsetUTF-8 - 0001154: WordWrap property for UniMemo - 0001293: GDI Leak in CreateAppIcon - 0000559: TUniHTMLMemo component based on Ext.form.HtmlEditor - 0001299: TUniDBHTMLMemo Component - 0000797: Grids: Custom cell coloring performance improvement - 0001267: Problem when more than one UniURLFrame have same name - 0001301: TUniUrlFrame HTML property - 0001294: GDI Handle leak issue - 0001290: Encode parameters in ajaxRequest - New Demo: HTML5 Audio - New Demo: HTML Editor - New Demo: URLFrame(HTML) - New Demo: ListBox - New Demo: ServerControlPanel
KingOrmon Posted April 9, 2012 Posted April 9, 2012 Nice, but TuniImagelist does not support png transparency...
Administrators Farshad Mohajeri Posted April 9, 2012 Author Administrators Posted April 9, 2012 Nice, but TuniImagelist does not support png transparency... In this sense there is no difference between TImageList and TUniImageList. Problem here is that ImageList needs a standard DIB format to save all images. In this case DIB BMP is the common format we need to use. To achieve transparency convert your PNG to BMP with transparent part in Fuchsia, black, white or any other color. In button or toolbar set Transparency option to tsAuto.
ChenHaibin Posted April 10, 2012 Posted April 10, 2012 I upgraded to 0.89, but encountered an error :Cannot assign a nil to TFont. Help!
ChenHaibin Posted April 10, 2012 Posted April 10, 2012 I upgraded to 0.89, but encountered an error :Cannot assign a nil to TFont. Help! In TUniframe,I use chinese Character.
ChenHaibin Posted April 10, 2012 Posted April 10, 2012 I upgraded to 0.89, but encountered an error :Cannot assign a nil to TFont. Help! In TUniframe,I replase the TImagelist by TUniImageList and set the Font as chinese Character .
Administrators Farshad Mohajeri Posted April 10, 2012 Author Administrators Posted April 10, 2012 I upgraded to 0.89, but encountered an error :Cannot assign a nil to TFont. Help! In TUniframe,I replase the TImagelist by TUniImageList and set the Font as chinese Character . From which version did you upgrade to 0.89? Your Delphi version? You change Font, but for which control? Do you change font at design time or runtime?
ChenHaibin Posted April 10, 2012 Posted April 10, 2012 From 0.88.1.943 upgrade to 0.89 My delphi version is 2010 in my Tuniform the font is ok but in TFrame the font.name = '宋体' I change the font at design time.
Administrators Farshad Mohajeri Posted April 10, 2012 Author Administrators Posted April 10, 2012 From 0.88.1.943 upgrade to 0.89 My delphi version is 2010 in my Tuniform the font is ok but in TFrame the font.name = '宋体' I change the font at design time. I can't reproduce this. Can you send a test case?
stas Posted April 10, 2012 Posted April 10, 2012 Hello, As I saw TuniImageList inherited from TUniComponent and is not compatible with the TImageList. TActionList have property Images -> TCustomImageList Can You inherit TuniImageList from TCustomImageList ? Thanks
Administrators Farshad Mohajeri Posted April 10, 2012 Author Administrators Posted April 10, 2012 Hello, As I saw TuniImageList inherited from TUniComponent and is not compatible with the TImageList. TActionList have property Images -> TCustomImageList Can You inherit TuniImageList from TCustomImageList ? Thanks I'll investigate its possibility. Logged #1314 1
stas Posted April 11, 2012 Posted April 11, 2012 I'll investigate its possibility. Logged #1314 çok teşekkür ederim
Administrators Farshad Mohajeri Posted April 11, 2012 Author Administrators Posted April 11, 2012 TActionList have property Images -> TCustomImageList Can You inherit TuniImageList from TCustomImageList ? I looked at the issue. Unfortunately TCustomImageList doesn't comply with our scalability policy! i.e. it is a bottleneck for large apps with hundreds of active sessions. In a uniGUI app number of sessions should be limited only by two factors : available virtual memory and disk space. In what manner do you use TActionList in a uniGUI app?
andersa@ellenshoej.dk Posted April 11, 2012 Posted April 11, 2012 ActionLists are not good. It is one of those zombie Delphi technologies that have never recieved the proper support in each version of Delphi. There are no third party component packages that uses them. They always roll their own version of event lists. ActionLists work for the most basic things, but sooner or later you are going to run into trouble, either because of some inherent limitation in ActionLists that prevents you from doing something you want to do or because of some third party component set that is incompatible with it.
Sebaot Web Posted April 12, 2012 Posted April 12, 2012 Mr. Farshad: I use a lot of TUniBitBtn with Glyphs, there is a change I need to make to? Best Regards Oscar Flor Sebaot Software
Administrators Farshad Mohajeri Posted April 12, 2012 Author Administrators Posted April 12, 2012 Mr. Farshad: I use a lot of TUniBitBtn with Glyphs, there is a change I need to make to? Best Regards Oscar Flor Sebaot Software No. It should work as before.
Recommended Posts