Thanks for testing and letting me know, Octavian. Unfortunately, I can't replicate the problem so far. I uninstalled the Nemerle distribution, and made sure the directory tree was deleted in case there were other dependencies upon which n_fruit.exe was relying besides the .NET Framework. The program still runs fine for me. I suppose it's possible that some other file did not get uninstalled, but I also tried running from a command prompt after clearing the PATH environmental variable to prevent Windows from looking for DLLs in other directories. I think the focus issues are related to JAWS 6 and the .NET Framework. I notice some, though not as much, with JAWS 6.2. JAWS 9 beta is not showing these problems for me. Jamal On Sat, 10 Nov 2007, Octavian Rasnita wrote: > Date: Sat, 10 Nov 2007 10:48:12 +0200 > From: Octavian Rasnita <orasnita@xxxxxxxxx> > Reply-To: programmingblind@xxxxxxxxxxxxx > To: programmingblind@xxxxxxxxxxxxx > Subject: Re: Fruit basket program in Nemerle > > Hi Jamal, > > The programs boo_fruit.exe and cs_fruit.exe work fine but the program > n_fruit.exe gives the same error. > > Even boo_fruit and cs_fruit have a focus-movement issue. > > For example, sometimes if the list has the focus and I press tab, the "Add" > button gets the focus instead of the "del" button. > This happends when I add using alt+A. > > On the other hand, when I add pressing the "Add" button, after the list gets > the focus and I press tab, nothing happends. The focus doesn't move and I > need to press tab a second time to go to the "del" button. > > Octavian > > ----- Original Message ----- > From: "Jamal Mazrui" <empower@xxxxxxxxx> > To: <programmingblind@xxxxxxxxxxxxx> > Sent: Saturday, November 10, 2007 1:20 AM > Subject: Re: Fruit basket program in Nemerle > > > > I've reposted the archive so that the compiled versions of the C# and > > Boo programs are also included. Thus, the archive contains the > > executables n_fruit.exe, Cs_fruit.exe, and boo_fruit.exe. If the > > Nemerle one crashes, I'm curious whether the others do, too. > > > > Jamal > > On Fri, 9 Nov 2007, > > Jamal Mazrui wrote: > > > >> Date: Fri, 9 Nov 2007 17:32:29 -0500 (EST) > >> From: Jamal Mazrui <empower@xxxxxxxxx> > >> Reply-To: programmingblind@xxxxxxxxxxxxx > >> To: programmingblind@xxxxxxxxxxxxx > >> Subject: Re: Fruit basket program in Nemerle > >> > >> More specifics would be helpful. At what point did this error message > >> occur? Upon first running the program? > >> > >> I'm baffled since I downloaded the archive and tested the program before > >> posting the message. Can others report their experience as well? > >> > >> Jamal > >> On Sat, 10 Nov > >> 2007, Octavian Rasnita wrote: > >> > >> > Date: Sat, 10 Nov 2007 00:14:54 +0200 > >> > From: Octavian Rasnita <orasnita@xxxxxxxxx> > >> > Reply-To: programmingblind@xxxxxxxxxxxxx > >> > To: programmingblind@xxxxxxxxxxxxx > >> > Subject: Re: Fruit basket program in Nemerle > >> > > >> > n_fruit.exe > >> > n_fruit.exe has encountered a problem and needs to close. We are sorry > >> > for the inconvenience. > >> > If you were in the middle of something, the information you were > >> > working on > >> > might be lost. > >> > Debug Close > >> > > >> > Octavian > >> > > >> > ----- Original Message ----- > >> > From: "Jamal Mazrui" <empower@xxxxxxxxx> > >> > To: <programmingblind@xxxxxxxxxxxxx> > >> > Sent: Saturday, November 10, 2007 12:03 AM > >> > Subject: Fruit basket program in Nemerle > >> > > >> > > >> > > From the zip archive at > >> > > http://www.EmpowermentZone.com/n_fruit.zip > >> > > > >> > > This fruit basket program is written in Nemerle -- Full source code > >> > > in > >> > > the zip archive and pasted below. The batch file, compile.bat, > >> > > builds the > >> > > executable, n_fruit.exe, which is about 12K in size. No other files > >> > > are > >> > > needed to run the program -- as long as the .NET Framework 2.0 is > >> > > installed. > >> > > > >> > > Nemerle is an open source, .NET-based language, originating at a > >> > > university in Poland, and named after a character in a novel called > >> > > "A > >> > > Wizard of Earth." The language is a superset of C#, with > >> > > modifications > >> > > and extensions to add features of functional languages like Haskell > >> > > and > >> > > Lisp. Although Nemerle programs are generally strongly typed at > >> > > runtime, > >> > > a dynamic style of coding is usually possible because the compiler > >> > > tries > >> > > to infer types from context. Its official web site is at > >> > > http://Nemerle.org > >> > > > >> > > The fruit basket code is the result of a conversion from C#, via the > >> > > cs2n.exe utility included in the Nemerle distribution. For > >> > > comparison, > >> > > the archive includes the original C# source code, as well as another > >> > > automatic conversion to the Boo language, via the web form at > >> > > http://codeconverter.sharpdevelop.net/Convert.aspx > >> > > > >> > > I have also prepared a collection of Nemerle documentation at > >> > > http://www.EmpowermentZone.com/n_doc.zip > >> > > > >> > > Jamal > >> > > > >> > > /* > >> > > content of n_fruit.n > >> > > Fruit Basket program in Nemerle > >> > > Public domain by Jamal Mazrui > >> > > */ > >> > > > >> > > namespace FruitBasket { > >> > > using System; > >> > > using System.Windows.Forms; > >> > > > >> > > // define class inherited from Form > >> > > class FbForm : Form { > >> > > mutable lblFruit : Label; > >> > > mutable txtFruit : TextBox; > >> > > mutable lblBasket : Label; > >> > > mutable lstBasket : ListBox; > >> > > mutable btnAdd : Button; > >> > > mutable btnDelete : Button; > >> > > > >> > > // define constructor > >> > > public this() { > >> > > // set window title > >> > > this.Text = "Fruit Basket"; > >> > > > >> > > this.Width = 400; > >> > > this.Height = 285; > >> > > > >> > > // create two rows of controls with three controls in each row > >> > > // label, textbox, button and label, listbox, button > >> > > lblFruit = Label(); > >> > > lblFruit.Text = "&Fruit:"; > >> > > lblFruit.Left = 14; > >> > > lblFruit.Top = 14; > >> > > lblFruit.Width = 44; > >> > > lblFruit.Height = 16; > >> > > > >> > > txtFruit = TextBox(); > >> > > txtFruit.Left = 64; > >> > > txtFruit.Top = 14; > >> > > txtFruit.Width = 200; > >> > > txtFruit.Height = 16; > >> > > > >> > > btnAdd = Button(); > >> > > btnAdd.Text = "&Add"; > >> > > btnAdd.Left = 272; > >> > > btnAdd.Top = 14; > >> > > btnAdd.Width = 100; > >> > > btnAdd.Height = 20; > >> > > // make it the default button > >> > > this.AcceptButton = btnAdd; > >> > > > >> > > // Define event handler > >> > > btnAdd.Click += fun( o : object, e : EventArgs) { > >> > > mutable sFruit = txtFruit.Text; > >> > > if (sFruit == "") > >> > > { { > >> > > MessageBox.Show("No fruit to add!", "Alert"); > >> > > (); > >> > > } > >> > > } > >> > > else { { > >> > > > >> > > lstBasket.Items.Add(sFruit); > >> > > txtFruit.Text = ""; > >> > > lstBasket.SelectedIndex = lstBasket.Items.Count - 1; > >> > > } > >> > > } > >> > > }; > >> > > > >> > > lblBasket = Label(); > >> > > lblBasket.Text = "&Basket:"; > >> > > lblBasket.Left = 14; > >> > > lblBasket.Top = 38; > >> > > lblBasket.Width = 44; > >> > > lblBasket.Height = 16; > >> > > > >> > > lstBasket = ListBox(); > >> > > lstBasket.Left = 64; > >> > > lstBasket.Top = 38; > >> > > lstBasket.Width = 200; > >> > > lstBasket.Height = 200; > >> > > > >> > > btnDelete = Button(); > >> > > btnDelete.Text = "&Delete"; > >> > > btnDelete.Left = 272; > >> > > btnDelete.Top = 38; > >> > > btnDelete.Width = 100; > >> > > btnDelete.Height = 20; > >> > > > >> > > // Define event handler > >> > > btnDelete.Click += fun( o : object, e : EventArgs) { > >> > > mutable iFruit = lstBasket.SelectedIndex; > >> > > if (iFruit == -1) > >> > > { { > >> > > MessageBox.Show("No fruit to delete.", "Alert"); > >> > > (); > >> > > } > >> > > } > >> > > else { { > >> > > > >> > > lstBasket.Items.RemoveAt(iFruit); > >> > > when (iFruit > lstBasket.Items.Count - 1) {iFruit = > >> > > lstBasket.Items.Count > >> > > - 1;} > >> > > lstBasket.SelectedIndex = iFruit; > >> > > } > >> > > } > >> > > }; > >> > > > >> > > // add controls to form > >> > > this.Controls.AddRange( array[lblFruit, txtFruit, btnAdd, > >> > > lblBasket, > >> > > lstBasket, btnDelete]); > >> > > > >> > > // center form on screen > >> > > this.StartPosition = FormStartPosition.CenterScreen; > >> > > } // FbForm constructor > >> > > > >> > > // define main entry point of application > >> > > static Main() : void { > >> > > Application.Run( FbForm()); > >> > > } // Main method > >> > > } // FbForm class > >> > > } > >> > > // FruitBasket namespace > >> > > > >> > > __________ > >> > > View the list's information and change your settings at > >> > > //www.freelists.org/list/programmingblind > >> > > > >> > > >> > __________ > >> > View the list's information and change your settings at > >> > //www.freelists.org/list/programmingblind > >> > > >> __________ > >> View the list's information and change your settings at > >> //www.freelists.org/list/programmingblind > >> > > __________ > > View the list's information and change your settings at > > //www.freelists.org/list/programmingblind > > > > __________ > View the list's information and change your settings at > //www.freelists.org/list/programmingblind > __________ View the list's information and change your settings at //www.freelists.org/list/programmingblind