Easy designer bug for you

Posts   
 
    
bmoeskau
User
Posts: 54
Joined: 15-Jun-2005
# Posted on: 04-May-2006 09:48:17   

Create a new typed list, check only one field to add to the typed list output, then uncheck the field so that none are selected. Throws the following Janus error:

No value at index 0.

-----[Core exception]-------------------- at System.Windows.Forms.CurrencyManager.get_Item(Int32 index) at System.Windows.Forms.CurrencyManager.get_Current() at Janus.Windows.GridEX.GridEX.a(Object , EventArgs ) at Janus.Windows.GridEX.GridEX.b(Int32 ) at Janus.Windows.GridEX.Internal.JNSCU.b() at Janus.Windows.GridEX.Internal.JNSBF.a(Boolean ) at Janus.Windows.GridEX.Internal.JNSAX.a() at Janus.Windows.GridEX.GridEX.n() at Janus.Windows.GridEX.GridEX.a(Object , String , Boolean ) at Janus.Windows.GridEX.GridEX.Refetch() at SD.LLBLGen.Pro.Gui.Forms.TypedListDefinitionEditor._typedListToEdit_TypedListDefinitionChanged(Object sender, ChangeSignalEventArgs e) at SD.LLBLGen.Pro.ApplicationCore.ChangeSignalEventHandler.Invoke(Object sender, ChangeSignalEventArgs e) at SD.LLBLGen.Pro.ApplicationCore.TypedLists.TypedListDefinition.RemoveField(TypedListFieldDefinition fieldToRemove) at SD.LLBLGen.Pro.Gui.Forms.TypedListDefinitionEditor.RemoveFieldFromTypedList(BindableEntityField bindField) at SD.LLBLGen.Pro.Gui.Forms.TypedListDefinitionEditor._fieldsInSelectListGrid_CellValueChanged(Object sender, ColumnActionEventArgs e) at Janus.Windows.GridEX.GridEX.OnCellValueChanged(ColumnActionEventArgs e) at Janus.Windows.GridEX.GridEX.g(Object , EventArgs ) at Janus.Windows.GridEX.EditControls.JNSAE.OnChange(EventArgs e) at Janus.Windows.GridEX.EditControls.JNSAE.c(Object , EventArgs ) at Janus.Windows.GridEX.EditControls.JNSAF.OnChange(EventArgs e) at Janus.Windows.GridEX.EditControls.JNSAF.a(Object ) at Janus.Windows.GridEX.EditControls.JNSAF.m() at Janus.Windows.GridEX.EditControls.JNSAF.OnClick(EventArgs e) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Not that big of a deal, and I did it by accident anyway wink but thought I would mention it.

bmoeskau
User
Posts: 54
Joined: 15-Jun-2005
# Posted on: 04-May-2006 09:48:56   

Sorry, forgot to mention that I'm on 1.0.2005.1 Final, March 31, 2006

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39614
Joined: 17-Aug-2003
# Posted on: 04-May-2006 10:23:47   

I found that one yesterday myself as well, when testing a if a bug in v2 was also present in v1 (it wasn't but I then ran into this! frowning ). I fixed it, it's in the next build simple_smile

Frans Bouma | Lead developer LLBLGen Pro
bmoeskau
User
Posts: 54
Joined: 15-Jun-2005
# Posted on: 04-May-2006 10:30:18   

I figured it was an easy one wink Thanks

simmotech
User
Posts: 1024
Joined: 01-Feb-2006
# Posted on: 04-May-2006 11:25:27   

bmoeskau wrote:

Create a new typed list, check only one field to add to the typed list output, then uncheck the field so that none are selected. Throws the following Janus error:

No value at index 0.

-----[Core exception]-------------------- at System.Windows.Forms.CurrencyManager.get_Item(Int32 index) at System.Windows.Forms.CurrencyManager.get_Current() at Janus.Windows.GridEX.GridEX.a(Object , EventArgs ) at Janus.Windows.GridEX.GridEX.b(Int32 ) at Janus.Windows.GridEX.Internal.JNSCU.b() at Janus.Windows.GridEX.Internal.JNSBF.a(Boolean ) at Janus.Windows.GridEX.Internal.JNSAX.a() at Janus.Windows.GridEX.GridEX.n() at Janus.Windows.GridEX.GridEX.a(Object , String , Boolean ) at Janus.Windows.GridEX.GridEX.Refetch() at SD.LLBLGen.Pro.Gui.Forms.TypedListDefinitionEditor._typedListToEdit_TypedListDefinitionChanged(Object sender, ChangeSignalEventArgs e) at SD.LLBLGen.Pro.ApplicationCore.ChangeSignalEventHandler.Invoke(Object sender, ChangeSignalEventArgs e) at SD.LLBLGen.Pro.ApplicationCore.TypedLists.TypedListDefinition.RemoveField(TypedListFieldDefinition fieldToRemove) at SD.LLBLGen.Pro.Gui.Forms.TypedListDefinitionEditor.RemoveFieldFromTypedList(BindableEntityField bindField) at SD.LLBLGen.Pro.Gui.Forms.TypedListDefinitionEditor._fieldsInSelectListGrid_CellValueChanged(Object sender, ColumnActionEventArgs e) at Janus.Windows.GridEX.GridEX.OnCellValueChanged(ColumnActionEventArgs e) at Janus.Windows.GridEX.GridEX.g(Object , EventArgs ) at Janus.Windows.GridEX.EditControls.JNSAE.OnChange(EventArgs e) at Janus.Windows.GridEX.EditControls.JNSAE.c(Object , EventArgs ) at Janus.Windows.GridEX.EditControls.JNSAF.OnChange(EventArgs e) at Janus.Windows.GridEX.EditControls.JNSAF.a(Object ) at Janus.Windows.GridEX.EditControls.JNSAF.m() at Janus.Windows.GridEX.EditControls.JNSAF.OnClick(EventArgs e) at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks) at System.Windows.Forms.Control.WndProc(Message& m) at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m) at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m) at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

Not that big of a deal, and I did it by accident anyway wink but thought I would mention it.

What a lovely, helpful exception that is. That obfustication makes it so easy to debug! I used to use Janus Grid since we have a site licence, but the final straw was when Janus starting displaying errors by popping up a MessageBox (I kid you not) containing a message like the above. Even worse, it was not possible to trap it! I then spent my own money on DevExpress WinSuite and haven't looked back since. On the very rare occasions I have a problem I don't have to worry about deciphering obfustication, I can just look at the source code.

Cheers Simon

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39614
Joined: 17-Aug-2003
# Posted on: 04-May-2006 13:43:20   

It's with other grids as well, these kind of things happen, it's mostly due to event crap: bound element gets changed THROUGH the grid, raises event by itself to signal a container that it is changed, which signals the form it is changed which then tries to update the grid... oops...

Though indeed, these error messages aren't really helpful, though after a while you know where to look wink .

What I find weird about the devexpress grids is the designer... I can never get used to that one.

Frans Bouma | Lead developer LLBLGen Pro
simmotech
User
Posts: 1024
Joined: 01-Feb-2006
# Posted on: 04-May-2006 14:38:18   

Otis wrote:

It's with other grids as well, these kind of things happen, it's mostly due to event crap: bound element gets changed THROUGH the grid, raises event by itself to signal a container that it is changed, which signals the form it is changed which then tries to update the grid... oops...

Though indeed, these error messages aren't really helpful, though after a while you know where to look wink .

What I find weird about the devexpress grids is the designer... I can never get used to that one.

A grid that raises its own MessageBox in a live application is of no use to me. Its not the error that I was bothered about particularly (although it does suck), it was the way it dealt with it. Janus support was good if there was a known answer to a question but myself and a colleague found that more and more we found limitations in the product and the support response was "Thats just the way it works-tough". The above was just the last straw.

You were looking at v3 or later weren't you? As far as I can see, the v3 and above designer blows Janus away completely! Want to add functionality to an existing view? You can just inherit from an existing view, register it with the designer and get full WYSIWYG at design time!

Cheers Simon

Otis avatar
Otis
LLBLGen Pro Team
Posts: 39614
Joined: 17-Aug-2003
# Posted on: 06-May-2006 09:35:43   

simmotech wrote:

Otis wrote:

It's with other grids as well, these kind of things happen, it's mostly due to event crap: bound element gets changed THROUGH the grid, raises event by itself to signal a container that it is changed, which signals the form it is changed which then tries to update the grid... oops...

Though indeed, these error messages aren't really helpful, though after a while you know where to look wink .

What I find weird about the devexpress grids is the designer... I can never get used to that one.

A grid that raises its own MessageBox in a live application is of no use to me. Its not the error that I was bothered about particularly (although it does suck), it was the way it dealt with it. Janus support was good if there was a known answer to a question but myself and a colleague found that more and more we found limitations in the product and the support response was "Thats just the way it works-tough". The above was just the last straw.

I never had this kind of misery with them, though at times I did found their grid not that nice, but at the same time, I know that other grids have issues too, so it's a trade off I think. The one thing I don't like about janus is the lack of docs.

You were looking at v3 or later weren't you? As far as I can see, the v3 and above designer blows Janus away completely! Want to add functionality to an existing view? You can just inherit from an existing view, register it with the designer and get full WYSIWYG at design time!

I was using v3 indeed. I must say that the designer didn't appeal to me, but I think that's personal, others might love it as you do simple_smile .

Frans Bouma | Lead developer LLBLGen Pro