|
|
|||||||
A few changes, a few bug fixes and a few enhancements announced with the release of Kixforms 2.0.5 (Build 33). Available for download at The KiXforms Website Heres the summary for this release: code:Will be posting to this space with comments and sample scripts demontrating some of the new behaviors. As always, please feel free to post any and all questions, comments and ideas into this space.2.0.5 Build 33 -Shawn [ 15. September 2002, 23:54: Message edited by: Shawn ] |
||||||||
|
|
|||||||
hyperlink constructor fix: sorry shawn, but the caption does not show up correctly... so, getting back to start when I said that it's not about hyperlink... still, seems to be the slider. sorry. |
||||||||
|
|
|||||||
Can you post an example of what the problem is ? |
||||||||
|
|
|||||||
k ... i see one thingy ... when the Caption for a HyperLink is set, than the size of the HyperLink is changed in anyway, the Caption does not "re-align" to the new dimensions ... yeah ? |
||||||||
|
|
|||||||
shawn, I'm not good at writing the problem-show-scripts... I migth do you one anyway if I can reproduce, that is... that I know, that the slider has not shown the hyperlink at any version correctly. |
||||||||
|
|
|||||||
ok, no "bug" in there. setting the hyperlink width to 5000 helped. sorry to bother with this, but the autoline-thing was too much... |
||||||||
|
|
|||||||
Your still correct though Jooel - the HyperLink object still needs a bit of work. It was engineered to be setup and used only once ... not too smart in terms of changing the caption and auto-resiing etc ... will fix going-forward ... |
||||||||
|
|
|||||||
shawn, what could this be? http://www.kixtart.org/cgi-bin/ultimatebb.cgi?ubb=get_topic;f=13;t=000302#000017 (hoby's post) |
||||||||
|
|
|||||||
Jooel - its could one of maybe couple things. Kixforms can cause a stack overflow (the only time i've ever seen it happen is during development when I've screwup the window classes) ... or a script can stack overflow though recursion (which your not doing) ... or maybe more likey, some "resource" is being used-up and not freed properly - little fuzzy on that last one, but it could be many things. If Kixforms stack-overflows ... you usually see it right away - even before the form displays ... something that takes hours to crash sounds more like something slowly being eaten away at - and then crashes ... don't know what that "thing" might be though ... lets keep our collective eyes on it though. |
||||||||
|
|
|||||||
I know there will be posted demos soon but I'm kinda bored here and wanted to play with the ComboBox, just can't figure out how it works without the documentation. Anyone know how to do it? |
||||||||
|
|
|||||||
well, there is documentation some sort... anyway, basic combobox: code:$combo=$form.combobox(,10,20,200,30) |
||||||||
|
|
|||||||
Thanks, that did it. |
||||||||
|
|
|||||||
shawn, I don't know how long you have ran that new checker... I did for ten hours and decided to boot my machine as saw something eating up the memory. I stopped all things, and lastly checker. opened the taskmanager to see did those stopping help: even though it's finnish, you can see the change... it dropped from 280 to 126... that's pretty good memory consumption, isn't it? |
||||||||
|
|
|||||||
The only piece of Kixforms where I know for sure that there is a (small) memory leak is with the Timer object ... if you leave the timer running for a long period of time ... its will very slowly start to eat up memory ... are you still using the timer object for the slider ... if yes - I have more to say about that ... |
||||||||
|
|
|||||||
I still use it alright... I'll leave the checker running again. just not what I thought, as I don't this want to be like m$ app, which has to be restarted every day. {edit} what comes to timer of the slider, it is cleaned up every time after the slider runs. the timer of the mainform is different thing as it runs all the time. [ 17. September 2002, 00:58: Message edited by: Lonkero ] |
||||||||
|
|
|||||||
Not sure if anyone has mention this before but the ToolTip don't support line breaks. |
||||||||
|
|
|||||||
Ill check into that one Punkie. |
||||||||
|
|
|||||||
Kixforms needs to get OnAfterUpdate event handling support ! |
||||||||
|
|
|||||||
missed that multiline tooltip too... what you mean with that onafterupdate? after update of what? |
||||||||
|
|
|||||||
ok, now it has run for 21 hours and memory usage is 350M! nice. anyway, there is something else too, when opened the misc, it does not draw anymore. it's transparent. meaning that it shows in it background the ie window behind it... |
||||||||
|
|
|||||||
I tell you Jooel - thanks goodness you wrote BBChecker ... its really given forms the olde work-out ... I mean ... running a continuously looping script for 24 hours without crashing your system has to count for something eh ? |
||||||||
|
|
|||||||
well, eh... sadly it does eat the memory... before I ran it for week or two but now, after 2 days all the memory is eaten up. what comes to script running... well, I have seen many boss'es who don't like my scripts because they are scripts but have got some scripts in production environments... one ran continuosly 6 months without break... script with right environment and right code is really trustable. that is why I like kix. getting this memory leak and fine tuning to forms makes it my #1 solution for gui. I already use it pretty exclusively, but... little improvements would make me able to recommend it to co-workers with no trouble. |
||||||||
|
|
|||||||
I was thinking that it would be good if you add a hyperlink variable within a label, instead of having to make the position of it every time. Something like this: code:$mylink = $form.HyperLink("user@domain.com") |
||||||||
|
|
|||||||
dunno... why should you have the "email:" text un-underlined? as far as I can think of, the hyperlink is just a complex label. you know: $mylink = $form.HyperLink("email: user@domain.com",10,10,100,15) $mylink.Value = "mailto:user@domain.com" |
||||||||
|
|
|||||||
Yes it's like a complex label but I wanted to be able to add a link like that within a "real" label. I just thought it would be a easier way to use it. I wanted to use this way for larger text data than a simple one line lable. Kind of the way it works in html: code:some text here <a href="http://">my link</a> ... more text |
||||||||
|
|
|||||||
well, you can allways write first the text and overwrite with label the text you want to link... anyways, lets hear what shawn has to say. |
||||||||
|
|
|||||||
After the ListView control is released, i will be implementing a new Kixforms object called: HtmlView (or HtmlBox) Haven't decided on a name yet. It's a RichEdit control enhanced to implement a (very small) subset of HTML - not the whole spec - just a dozen or so tags. Thats where I was "heading" in my discussion with Rod in another thread. The HTML interface for the RichEdit "eases" the pain a little bit ... The thing is - this would be a Viewer object (readonly) type control - you couldn't interact with it too much (like a read/write RichEdit control could do). So like I say, after ListView - depends if we want to start on RichEdit or HtmlView ? -Shawn ps. HtmlView in no way relies on Internet Explorer being installed ... it will implement its own tiny HTML engine. [ 19. September 2002, 15:08: Message edited by: Shawn ] |
||||||||
|
|
|||||||
I realized it was something similar I was after, after reading that thread you're talking about here Shawn. I think you should go with RichEdit first, and for name I think HtmlView sounds good. |
||||||||
|
|
|||||||
Well, we're really talking about two different objects here, both based on the RichEdit control. Rod mentioned that he wanted a RichEdit object that can be "programmed" with funky (raw) RTF encoding. And the HTMLView object is "derived" from the RichEdit object, but adds value in that it can be programmed with a subset of HTML - the HTML engine would generate RTF codes under the covers but wouldn't expose the raw RTF interface itself. So I guess what I'm wondering is what would be more usefull. A RichEdit object with an RTF interface or a RichEdit object with an HTML interface. Haven't heard back from Rod in terms of what he has planned ... raw RTF encoding (imho) seems to be pretty powerfull ... was reading-up on some of the links he provided ... T think you can even encode bitmaps as RTF strings (or as Kixtart $variables) ... and have them display inside the RichEdit window ... pretty powerfull stuff. From my perspective, the RichEdit with its simple raw interface would be the quickest and (probably) most stable object to implment next. But the HTMLView object has an appeal as well. At the end of the day - both will be there - question is - which one first. [ 19. September 2002, 18:19: Message edited by: Shawn ] |
||||||||
|
|
|||||||
Well I'm glad you aren't going to replace either one because I believe they could become quite useful in many ways. I really don't have any knowledge on RTF stuff so it would be a new expirence to me |
||||||||
|
|
|||||||
Yeah - I'm looking forward to playing with the RTF RichEdit control (myself) ... but to be honest - right now - I couldn't tell the difference between RTF code and Morse code ... but its sounds interesting and stimulating (and fun) which is what its really all about anyways, right ? [ 19. September 2002, 19:26: Message edited by: Shawn ] |
||||||||
|
|
|||||||
Sorry guys, I've been out of the loop for a day or so - I've just got back from Sweden and it's late here in the U.K. but this is all great news about RTF and HTML capable controls. My 2 cents is that I would guess that for 90% of applications, a restricted subset of HTML tags would probably suffice for most user's text presentation needs, however RTF has big potential for taking KiXforms into a whole new realm. I suppose one key issue is how would RTF support affect the actual physical size of the library? Rod. [ 20. September 2002, 00:21: Message edited by: rclarke ] |
||||||||
|
|
|||||||
Yeah - lets go with the straight RichEdit control first - then give the HtmlView control a try later. Won't add anything to the physical size - the RichEdit control is implemented in the COMCTL32.DLL (or something like that) and thats where all the RTF handling is done. -Shawn |
||||||||
|
|
|||||||
what comes to combobox, I've tried some events: onkeydown onlostfocus onclick ... and then: if listindex<>listindex_before listindex=listindex_before endif none of these have done anything... all I'm trying to actually do is to disable entering anything with keyboard, you know, disable entering the text as all I want is to have it like menubox... or selectbox. well, I have had no success whatsoever, so I need to ask, is it possible to have a dockable listbox? |
||||||||
|
|
|||||||
As you can see from this post, there are actually three types of ComboBox available, although only one is currently supported by KiXforms. I would agree that the type 2 ComboBox would be a nice to have and I believe that Shawn plans to include it in a future release. Rod. |
||||||||
|
|
|||||||
heh, it was back in 2.0.3 and I thought I was already changed... thanks for the info though. btw, are you back now?   |
||||||||
|
|
|||||||
I'm back, most of my European business trips are only for a day or two, unless it's the U.S. in which case, it is normally a week. You know what it is like though when you are working abroad, everyone expects you to work twice as hard as normal and any chance to catch up with the board goes right out the window Rod. |
||||||||
|
|
|||||||
rod, so... any change I might come on the trips as your assistant?   |
||||||||
|
|
|||||||
You'd be very welcome, but it is only work when you get there. My company have sent me all over Europe, but I can honestly say I have seen nothing of those contries apart from the airport, taxis, hotels and our offices. If you are lucky, the local staff may take you out to dinner but that is about as good as it gets - it's a hard life Rod. |
||||||||
|
|
|||||||
rod, understood. well, I'm not afraid of work but I surely am a cowboy in my heart. I get really bored if can't move around. even, when I move the first month goes smoothly but then I get depressed as I have to go to the same place every night to sleep... as long as the job is admin related (not sales or marketing) I would more than glad to scroll around the planet... |
||||||||
|
|
|||||||
Shawn, I have a request. Is it possible to add a property like removecopies or removeduplicates for listbox/combobox? In case the suggested property name doesn't explain it well enough. I'm asking for a property that will cause listbox/combobox to ignore multiple occurances of the same string. Example: $array = "1","1","2","2","3","3" $MyBox = Listbox(,,,,) $MyBox.List = $array The listbox should contain 1 2 3 4 instead of 1 1 2 2 3 3 4 4. Also, is there a way to have a listbox automatically scroll down when items are added? Thanks |
||||||||
|
|
|||||||
There doesn't seem to be a ListBox or ComboBox style or property that allows one to have or filter a unique list of items (can you or anybody else find any references ?). One solution I found revolved around simply purging the array of duplicates before the list was populated. Heres that link: One solution Im going to keep looking and thinking about this one though. For the second question - automatically scrolling and selecting items as they are added. Well - for a listbox that is not sorted, you can always set the ListIndex (current selection) to last item in the list. Assuming you have a ListBox called ListBox1 and a CommandButton called CommanButton1, heres the code for that: code:For a SORTED ListBox - its a whole new story - this was discussed and the problem demonstrated in the 4TH post of this thread :Function CommandButton1_Click() Topic: Kixforms: Version 2.0.5 Build 33 Heads Up [ 21. September 2002, 18:12: Message edited by: Shawn ] |
||||||||
|
|
|||||||
hmmm .. the more I think about that unqiue item thingy - the more i like. Just because VB and VBA doesn't support it - doesn't mean we can't ... I think this request is "generic" enough to be included as a behavior of the ListBox ... will stick it on todo stack ... trying to think of a good name for this property. |
||||||||
|
|
|||||||
Here is what I'm currently using to remove duplicates from an array. It's written assuming each string in the array begins with 0-9 or A-Z, but can easily encompass the entire ascii table (even shorter if I created all the variables dynamically). code:I rewrote an older UDF I posted a few weeks back because it was taking entirely to long to strip the duplicates. In testing the older UDF took about 45 seconds to strip 464 unique strings from the 1220 original, this script cut that down to about 6 seconds. Of course the effectiveness of this script depends on the the original array's contants 1st characters varrying. In other words the function is faster if the first character of the strings in the array are not all the same.Function StripCopies($striArray) Sorry, not trying to hijack the thread. I just wanted to make sure you didn't think I was asking you to write something for me because I was to lazy to do it myself. Thanks for the input. |
||||||||
|
|
|||||||
Vig - how about we meet half-way in the short term ? There are two .NET type methods for the ListBox that I can implement called the following: Index = $ListBox.FindString(string) Index = $ListBox.FindStringExact(string) Think they are pretty self explainatory ... all you would have to do is construct a for-each-in loop, do a findstring and if not found, add it to the list ... -Shawn [ 22. September 2002, 18:45: Message edited by: Shawn ] |
||||||||
|
|
|||||||
Hmm, let me get this straight. With the FindString and FindStringExact property you can check an entire array for the existance of a string? Wow! Instead of doing a one to one check on each string in an array you can check the entire array in one shot? I can only imagine how much time that would save. I love it, please please add them. Edit: Well then again, I guess it's not really an array your checking, since Listbox.List is write only. Still has alot of potential though, a fast stripcopies. I can even see where I'd use these properties and not even show the list box, just use the behavior. I'll have to play around with it. [ 22. September 2002, 20:31: Message edited by: Vig ] |
||||||||
|
|
|||||||
I like the idea too... then I have to ask, when the "table" (multicolumn listbox) comes along, can we match against one cell only? what comes to the name, I have several names in my mind and none of them seems good enough to be the one...   |
||||||||
|
|
|||||||
anyone notice that the form background is 'missing/transparent' when you run a script while bbchecker is running |
||||||||
|
|
|||||||
Haven't noticed that but will try it tonight C ... what happens if you run BBChecker from one command window (using KIX32.EXE as opposed to WKIX32.EXE) and run the other script from another command window. |
||||||||
|
|
|||||||
seems to work fine that way |
||||||||
|
|
|||||||
that discovery from pat is also quite good: if you just play around with taskmanager the checker's misc will crack similarly. more info on checker topic. |
||||||||
|
|
|||||||
Thinking it has something to do with that TOPMOST property ... TaskMgr runs with TOPMOST as well. [edit - hmmm - i know i stated the obvious there but MISC doesn't run with TOPMOST right ? - but the slider does right ?] - maybe if you disabled TOPMOST on the slider while it isn't sliding ? [ 26. September 2002, 20:23: Message edited by: Shawn ] |
||||||||
|
|
|||||||
can't the timer be disabled??? I thought it was just a matter of enabled=0 but it does not seem to affect... |
||||||||
|
|
|||||||
shawn, is it possible to have part of the textbox's text in some color and rest in other... also, may I get the filemenu somehow? if these are there already, sorry for my stupidity.   |
||||||||
|
|
|||||||
Jooel - your right - both of those features are not there. The TextBox multi-color text thingy will never be there because the TextBox doesn't support that. The RichEdit box would though The MenuItem thingy will be back in sometime after 2.1 ... not sure when because I was planning on starting RichEdit right after that. |
||||||||
|
|
|||||||
so, how is 2.1 going?   |
||||||||
|
|
|||||||
mmm... I might have some more requests along the road as I've started sketching KixEdit... what comes to the lanman (btw) I don't think it can fit under the namespace of kixforms. there could be add-on library consisting of separate dll's or one collection... anyway, these add-ons like kixforms should (my opinion) get their way to the kixtart-package. and some, like winsock, could even be build into to the main-exe... well, just thoughts   |
||||||||
|
|
|||||||
  the tooltip does not worky on my trying to set it for combo... should it? doc (kixlist) says it's for all?   update: it seems to worky anyway... but weirdly it does not worky on whole area... [ 30. September 2002, 05:17: Message edited by: Lonkero ] |
||||||||
|
|
|||||||
Does it work if you "touch" the drop-down arrow thingy ? [edit] I mean "hover" over it. [ 30. September 2002, 05:23: Message edited by: Shawn ] |
||||||||
|
|
|||||||
mmm... as the arrow is only place it works. if I "touch" (click) it, it does not worky anywhere on it. |
||||||||
|
|
|||||||
hmmm, think i know what it is ... its because the ComboBox is a composite control - two windows embedded inside a main window ... the borders and the drop arrow are the main window ... the tooltip works there .. the textbox is another child window and the dropdown is yet another window .. a listbox. |
||||||||
|
|
|||||||
Just tried it in VBA ... the Borders, Arrow and TextBox display the ToolTip ... the DropDown doesn't. |
||||||||
|
|
|||||||
the textbox was the item I missed...   |