Widget in flex is a re-usable module providing some specific functionality, it could be a complete application or an assisting application . So a flex widget can be an application which is created for distribution. The module is independent and can be loaded in any flex application. For e.g a weather widget which uses API of some xyz.com website, the xyz.com can distribute its flex module ( widget ) so that people can use it in there application and display weather information.
Sachin, there is no such difference between a widget and flex application. A widget is supposed to be an application which should be able to perform some specific functionality independently. A widget may be distributed as an flex application compiled to swf file to be used in HTML file or it may be an Flex module to be used in flex applications.
An application is called widget because of its nature of work. A widget generally displays info or performs work the way the distributor designed it to. In a typical scenario the widget will load an xml file or call webservice to load information from distributor's website and perform work. So the control lies in the hands of the distributor. For e.g a flickr.com widget may be designed to display latest 10 images posted . The swf file can be used by any website but that swf will load info from flickr.com calling there webservice.
TypeError: Error #1009: Cannot access a property or method of a null object reference.
at mx.core::UIComponent/set processedDescriptors()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:1217]
A typical use of widget is to display some information from a source. A good example will be a widget from eBay.com which will display adds of product's from ebay, if you place it in your website pages. So its basically a simple application which gets data from ebay.com and displays it anywhere it is placed. A widget can be used at multiple places in a single page. A news widget from some news agency can display latest news .