STATUS: Fixed in InfoPath 2003 SP1.
DESCRIPTION:
I uncovered this previously unknown problem on 2004-07-17 while updating the InfoPathDev Web site using an RSS 2.0 Generator InfoPath form I created. I've reported it to Microsoft.
I wanted to reorder the list of InfoPathDev example forms to put the more popular ones at the top. I posted my example form: Reordering Table Rows, which demonstrated how to create buttons to move rows in a table up or down. I use this technique in the RSS 2.0 Generator in a Master-Detail Table. The reordering buttons are in the Master table.
The first row I moved up worked just fine; then when I attempted to move it up again, InfoPath crashed. After that, it crashed time after time. At first I couldn't figure out what was going on—and what was worse was that the debugger commands I placed at the top of the OnClick handlers to attempt to locate the source of the problem were never reached before InfoPath would crash. (I made sure I was a good boy and sent in all of the crash reports.)
While continuing to play, I was able to reorder a table row without a crash. My assumption was correct: the crash was avoided by first selecting the row I was attempting to reorder. When the row was selected, the reordering worked fine, but without the selection InfoPath crashed.
The failure is the following:
CiceroUIWndFrame: INFOPATH.EXE - Application Error
The instruction at “0x30528af9” referenced memory at “0x00000000”. The memory could not be “read”.
This problem doesn't always manifest itself. It seems to be based on the complexity of the contents to be reordered. I have some XML files I have no problem reordering, while others that are more complex and crash every time. I haven't yet tested whether this problem is also manifest using a standard Repeating Table or Repeating Section.
Luckily there is a workaround, even though having to select each row before reordering quickly becomes quite a tedious task.
©2004 Greg Collins. All rights reserved. Licensed to Autonomy Systems, LLC for display on InfoPathDev.com.