When you create a form without using the layer based constructor, internal attribute layer remains null, which results in a NullPointerException in this line inside the showWarning method when changed is true (you have unsaved changes): boolean save = changed && layer.isEditing(); I'm not sure how it should work when you don't have a layer but a recordset (I checked out its methods but I didn't find one which fitted for this purpose).
have you checked the alphanumericform? is that ok for you?
Sorry, my description was a bit weak, I should have told you that the problem is not exactly with a form, but with AbstractNavTable's code (the lines I pasted come from it), and what I'm using is a AlphanumericNavTable created with an IEditableSource got from a dbf .
In alphanumeric we should use de IEditableSource.isEditing() method. A possible solution is overwrite showWarning in AlphanumericNavtable (see attached patch). It's not a nice solution but it works and don't need a big refactoring.
Hey guys, what about this patch? Could you review it works and commit it?
Applied patch in revision 435