#208609 - 2014-02-20 03:41 PM
Re: kixforms .net actually working for anyone?
[Re: NTDOC]
|
Shawn
Administrator
Registered: 1999-08-13
Posts: 8611
|
I will see about getting Kixforms rebuilt under Visual Studio 2008. If there are any particular bugs that need fixing let me know.
Was thinking of simply hosting the new DLL from Korg
|
Top
|
|
|
|
#208631 - 2014-03-01 12:19 AM
Re: kixforms .net actually working for anyone?
[Re: Shawn]
|
It_took_my_meds
Hey THIS is FUN
Registered: 2003-05-07
Posts: 273
Loc: Sydney, Australia
|
Hi Shawn,
Sorry this took longer than expected to get back to you. I picked up a virus on my way back from Japan and have been pretty sick since. (Fun fact - your odds of picking up a virus increase by 190 times if you travel in a plane). Anyway, I digress.
Issue 1 - Forms and controls not disposing correctly. This really is the most serious bug I know of in KiXforms. If you create and close enough forms with a lot of controls on them, eventually some graphical resource exceeds a threshold and the GUI stops drawing correctly. It can also affect other applications when it does this as well. Thankfully, I finally did recently find a work around for this issue. I tried a similar approach unsuccessfully before but with some tweaking I've created a dispose function that can be used on forms and controls to ensure they are properly killed.
Function Dispose($Control)
; KiXforms doesn't properly dispose of controls. Call this function on forms and controls to properly remove them and avoid GUI issues.
If VarType($Control) = 9
Dim $i
For $i = $Control.Controls.Count - 1 to 0 Step -1
Dispose($Control.Controls($i))
Next
$Control.Dispose
EndIf
EndFunction
Issue 2 - Fatal exception when recreating menu item with a previously used shortcut In one of my apps, I change what items are in a menu based on the context of the data being looked at. If you assign a keyboard shortcut to a menu item, then clear the menu and add another menu with the same keyboard shortcut (e.g Ctrl+T), then a fatal exception is triggered when the user uses the keyboard shortcut. Thankfully, the work around is simple.
;clear menu
For $i = $Menu.MenuItems.Count - 1 to 0 Step -1
$Menu.MenuItems($i).ShortCut = ""
$Menu.MenuItems.Remove($i)
Next On a side note, it would be good to insert menu items at specific positions
Issue 3 - Duplicate or sometimes unactioned events come through I don't know if this is an issue with KiXforms or with the OS, but I often see form move and form resize events coming through when nothing has been done to the form. The work arounds are of course simple.
If $Form.LastTop <> $Form.Top Or $Form.LastLeft <> $Form.Left
; do stuff
$Form.LastTop = $Form.Top
$Form.LastLeft = $Form.Left
EndIf
If $Form.LastWidth <> $Form.Width Or $Form.LastHeight <> $Form.Height
; do stuff
$Form.LastWidth = $Form.Width
$Form.LastHeight = $Form.Height
EndIf
Unfortunately the OnMouseMove event on GridViews is unusable as a flood of events comes through even when the mouse isn't being moved. (Handy tip with gridviews: set EditOnEnter = 1 and you don't need to double click cells that are comboboxes to get them to show the list.)
Issue 4 - Items with over 64 characters in a gridview combobox cause a fatal exception I don't know of a workaround here.
Humble feature requests
- It would be good to get OnMouseMove events for listview and gridview headers to enable easy reordering of columns
- It would be good to get OnMove events for forms when they are being moved rather than at the completion of the move - I suspect this would be difficult to do however
- It would be good to set the colours for gridview and listview column headers as well as scrollbars
- It would be good to add support for Windows 7 features such a jumplists
- It would be really good to natively display HTML
- It would be good for pictureboxs to support more formats than bitmap
- It would be good to be able to get the maximum width of visible items in treeviews
- It would be good to have a GetForm() method on all controls to make sure you make changes to the correct form. I currently extensively use the GetForm function below to address this but having it inbuilt would be handy for people.
Function GetForm(Optional $Sender)
$GetForm = IIf(VarType($Sender), $Sender, $System.Sender)
If VarType($GetForm)
If $GetForm.Class = "Menu" ; Menu class doesn't have a parent property
$GetForm = $System.ActiveForm
Else
While $GetForm.Class <> "Form"
$GetForm = $GetForm.Parent
Loop
EndIf
Else
$GetForm = $System.ActiveForm
EndIf
EndFunction
I'm sorry if this list looks too demanding, I've just tried to be as thorough as possible. Anything you can do to assist would be very much appreciated. Sincere thanks and respect,
Richard
|
Top
|
|
|
|
#208632 - 2014-03-01 06:55 AM
Re: kixforms .net actually working for anyone?
[Re: Shawn]
|
It_took_my_meds
Hey THIS is FUN
Registered: 2003-05-07
Posts: 273
Loc: Sydney, Australia
|
BTW, if you are at all interested in what I've been working on (and off) with KiXforms all these years, I've attached the current version of the help file for the interface to my inventory system. It's not complete yet because I'm in the process of adding some pretty cool charting capability (IMHO).
I couldn't have done it without you :-)
Richard
Edit: I think there is something wrong the forum file attachment. I tried reattaching it but it gives a not found message when trying to download it. Maybe an admin can look at the issue? Anyway, here is another link IMS Console Help File
Attachments
IMS Console.zip (766 downloads) Description:
Edited by It_took_my_meds (2014-03-01 09:39 PM) Edit Reason: Added another link
|
Top
|
|
|
|
#208637 - 2014-03-01 09:47 PM
Re: kixforms .net actually working for anyone?
[Re: ShaneEP]
|
It_took_my_meds
Hey THIS is FUN
Registered: 2003-05-07
Posts: 273
Loc: Sydney, Australia
|
Yeah there is something wrong with the forum link that I can't remedy, I've left it there for the admins to diagnose. Please use this link IMS Console Help File.
|
Top
|
|
|
|
Moderator: Shawn, ShaneEP, Ruud van Velsen, Arend_, Jochen, Radimus, Glenn Barnas, Allen, Mart
|
1 registered
(Allen)
and 466 anonymous users online.
|
|
|