Visual Foxpro is discontinued now. There is no visual foxpro 10 on the future release. Developer and organization should move to new platform such as to Microsoft.NET or Java.
You can see in the visual foxpro roadmap in http://msdn2.microsoft.com/en-us/vfoxpro/bb190293.aspx
I need to know what kind of control that are available on my form when I design complex control. First make the property and give attribute TypeConverter with type of ConverterID and IDReferenceProperty to WebControl
For example:
[TypeConverter(typeof(ControlIDConverter)), IDReferenceProperty(typeof(WebControl))]
public string TargetControlID
{
get { return this.targetControlID; }
set { this.targetControlID= value; }
}
private string targetControlID;
After build, drag the control from the toolbox to web form and the property will show up with the list of control ID on the form.
I start to think how to develop a solution faster than before. Most of the time I usually work on making classes to handle database, UI, relations between data and UI, security (like who can use this function) and generate report.
Usually I develop using pure library or framework like pure .NET or Java base class especially when I make software for small company. The way I do programming is OK when I have few jobs and much time, otherwise not OK.
While developing on .NET I use:
ORM or Library:
UI:
I don’t use third party control since it is expensive for me.
While developing on Java I use:
ORM or Library:
Until today I don’t use it.
UI:
Native java or Eclipse UI
While developing on PHP I use:
ORM or Library:
I don’t use third party, build myself. Since most of the customer use PHP 4.3.x or 4.4.x and a few customer using PHP 5.x
UI:
By hand. Until now I don’t know what UI controls.
Most programmer I know still confuse how to code well, especially they want to do with the data. They usually put some “accessing data” code on the UI like (on C#):
BtnGetOrder_Click(…) // some UI event
{
String connStr = “SomeConnectionString”;
String sqlStr = “SomeSqlString”;
SqlConnection connection = new SqlConnection(connStr);
connection.open();
SqlCommand command = new SqlCommand(sqlStr , connection);
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
// display result on the screen
}
}
The problem occurs when the UI changes, many codes changes too; and make the maintenance expensive. It is not easy to find a code and modify them when there are more than 200 line of codes in the methods. This styles usually use for quick samples or student.
Some forums or books suggest that it will use 1 or more classes contain many methods and properties for accessing data. UI methods just instantiate and using them. This style of coding technique is better so I can separate between UI and the logic. It might be a problem when I want to maintain the code or recreate/rebuild the code, I get million of code to find.
Business object offers more than just encapsulate methods and property into the class but give the meaning of the class. Most of business object is a representation of tables from database and the methods just manipulate its state. There are classes to handle saving, retrieving from database; and make relations between business object that represent relations in the table.