A ramble on Visual FoxPro (i)

Source: Internet
Author: User
Tags odbc object model versions visual studio

Objective

This article can be said to be the BOE data Network Studio of the mountain. It started with the National Day of 2000, written and stopped, until the Lunar New Year to complete the first draft ...

Later I have several changes, counted in April 2002 this version, should be the fourth edition!

In the beginning, I wrote this article The motivation is: calm to express my point of view. As a Visual FoxPro programmer is often questioned, even refuted, sarcasm, I am not a good mouth to fight the people, but also do not offend the "outrage." So I used the keyboard to tap some words, express my understanding of Visual FoxPro, at the same time to express the views of various issues ...

In the past two years, in my own case, a lot of changes have taken place: due to the work of the relationship, I contacted a lot of other development tools, including everyone widely familiar with the Delphi, there are domestic Ching rapid Plus, InTouch, Insql, Intruck. Experience a variety of, experienced many, I think I am more capable of completing this article, I hope to stand on the impartial position of the visual FoxPro, rather than the community blindly criticism, disdain, not Fox fans of the "World I am the eldest" mentality! I hope you can feel the maturity and progress of the BoE in the article.

Netizens especially like this article, I know Fox fans can be in this place to resonate, in fact, I write this article is to the ordinary people concerned about the topic summed up, refine, quweicunzhen ...

Last spring, the Visual FoxPro 7 official release, a lot of fox friends are waiting for the Simplified Chinese version, unfortunately, Microsoft did not han it. I don't think it's necessary to use the Simplified Chinese version of Visual FoxPro 7 for this reason: Functionally speaking, the Chinese version is identical to the English version; the IDE for Visual FoxPro 7 is no different from previous versions, so for users who are familiar with visual FoxPro, There will be no barriers to use; again, the Help file, visual FoxPro 7 brought a complete, independent English version, and the Chinese visual FoxPro 6 help is integrated in the MSDN, the huge incomparable, in fact, not how to Chinese, the general Fox fans are not installed , so in terms of help, for friends who are unfamiliar with English, the English visual FoxPro 7 is the same as the Chinese visual FoxPro 6; Visual FoxPro 7 is not visual FoxPro 6 comparable in all respects, and the upgrade development tool is inevitable. So, I hope you will upgrade to Visual FoxPro 7!

What is Visual FoxPro

As the most flexible and powerful database management system in the market, Visual FoxPro has a long and glorious history of development. It was founded as Fox Software's foxbase product, "Fox" (which is what the international programming community calls it) a reliable, convenient, and efficient database product for programmers. No product in the world works like a Visual FoxPro, it's unique!

Many people, after enjoying the service of Visual FoxPro, cannot say what it is. Let's follow its trajectory and learn about it! This will enable you to have a deeper understanding of it.

FoxPro is subordinate to a DBMS class called Xbase. The term xbase is common, and he represents languages such as FoxPro, DBASEIII PLUS, Dbaseiv, foxbase+, and Arago. Xbase originally originated from a mainframe-used DBMS called Jpldis (Jet-driven Lab database management and Information Retrieval system). This DBMS was successfully developed by the American Jeb Long in 1972. So far, developers and programmers around the world have written tens of millions of lines of xbase code.

Dating back to the late 80, Foxbase was the dBASE clone system. As long as DBASEIII can do the work, foxbase can do it better and faster. Foxbase has some brand new features, but it doesn't really have a major technical breakthrough, just to run faster and better, and more importantly, it's compatible with DBASEIII.

FoxPro 1 First departed from the principle of compatibility. It began to use new ideas in the design of graphical user interfaces and software development methods, leading it to the dbaseiv of the year when the outlook was bad.

From the 2.0 onwards, FoxPro really formed its own characteristics. When FoxPro 2.0 was launched, it contained a number of key technologies that revolutionized the PC database development market. These technologies are:

    1. Joined the Rushmore technology, it can engage in many difficult to imagine the complex work. All of a sudden, tables with millions of records are not only possible in PC database systems, but can be easily implemented without switching to other, more expensive technologies; The most important advantage of Rushmore is that it is completely automated without the user spending energy and time. Because of the Rushmore technology and Fox's innate speed, even today Visual FoxPro is still the fastest desktop database engine.

    2. The SQL statement is another revolutionary key technology introduced by FoxPro 2.0. Fox's developers first replaced the entire process with a single statement, and that support was embedded in the Fox data Engine. The SQL language was and still is a powerful data language.
      FoxPro 2.0 also introduces some of the WYSIWYG tools for developing reports and screens.

FoxPro 2.0 does have some of the best features that our visual FoxPro have today. GUI design services, SQL, and extremely fast data access are notable features.

FoxPro 2.5 has a for DOS and a for Windows version, but that Windows version only has the appearance of a DOS application that looks like "windows." In particular, the DOS version is definitely a classic, look around is not there are many such systems running? It was said that the software could not be done any faster, unless the hardware was upgraded ...

It was not until Visual FoxPro was launched in the spring of 1995 that there was another major improvement in FoxPro (when Microsoft had acquired Fox Software). Visual FoxPro 3.0 has added some of the long-awaited features that have shocked the PC database development community. We can see that Visual FoxPro and FoxPro are very different from the Visual FoxPro to become FoxPro. These features are:

  1. Database Container, also called DBC, increases the number of years the developer expects for support for stored procedures, data rules associated with tables, and a series of additional data features.

  2. Seamless connection of remote data. When it comes to connecting remote data processing, we often think of RDO, ADO, BDE, etc. processing data engine, then what does Visual FoxPro use to achieve seamless connection of remote data? The Visual FoxPro itself has a data processing engine that is different from any other development tool! The Visual FoxPro data processing engine "calls" with the remote database server through an ODBC driver, and the ODBC driver for the remote database server converts Visual FoxPro data into data that can be interpreted by them; instead, visual FoxPro ODBC Drivers can also convert remote data into data that can be processed by the Visual FoxPro data engine. Visible, as long as the remote database has an ODBC driver, you can use Visual FoxPro most client software. Common databases such as SQL Server, Oracle, Access, and so on provide an ODBC driver.

  3. There are two ways to actually manipulate remote data in Visual FoxPro, Remote View and SPT technology. View is an updatable SQL cursor that adds a complete set of data access methods for data processing, GUI display, and report making. It supports two types of views, the local view and the remote view. A local view is a view based on a Visual FoxPro table, and a remote view is a view based on any ODBC data source. In addition to making Visual FoxPro a complete C/s development environment, Visual FoxPro also supports SPT (SQL pass through) technology to complete the work that the view cannot do, such as user management of database servers, stored procedure calls, and so on. Visual FoxPro becomes the primary tool for accessing remote data after the creation of view and SPT technologies. Overall, the creation of an enterprise-wide application and the use of data stored in remote data sources is almost as easy as using the Visual FoxPro table itself to handle the addition of commands, functions in data access, and there is no difference between data processing and normal Visual FoxPro programming. Again: Remote View and SPT technology is directly supported by the Visual FoxPro data processing engine, which is different from the external data access technology in VB and VC + + (they use components such as DAO, RDO, ADO ...). , it is highly efficient to access remote data with Visual FoxPro, and can seamlessly integrate remote data with local data to maximize development efficiency and program efficiency.

  4. Fully supports object-oriented technology (OOP). The full and robust implementation of object-oriented processing method greatly improved the software development conditions. The robust object model and the functionality used to create your own classes and subclasses form a new approach to software development.

Visual FoxPro 5.0 is an upgraded version of 3.0, which is a 32-bit system. Has the ability to use and create COM servers and is beginning to support the publishing of visual FoxPro on the Internet. Starting with this release, Visual FoxPro entered the Visual Studio family and rumors that Visual FoxPro will no longer escalate are also occurring during this period.

Prior to the advent of Visual FoxPro 6.0, Microsoft was planning to release DNA, evolving to today's. NET, and promising to develop visual FoxPro into a robust middle-tier tool, so that after that, the novice user of visual FoxPro was less likely to feel the change.

There is no fundamental change in Visual FoxPro 6.0, but some changes are quite obvious. Both access and assign are creative in controlling the data that is placed in your object. With the new Component Gallery (component library) and foundation Classes (base Class), you can easily move to the task of creating object-oriented applications. Better for COM support, we can create multithreaded COM components with Visual FoxPro after Server Pack 3.

Visual FoxPro 7 is the first visual version of Fox--visual FoxPro 3 after the most revolutionary product upgrades. For some of its features, this article will have a special paragraph to explain.

The language of Visual FoxPro is composed of Xbase, SQL, and OOP. I do not know whether this decomposition is reasonable, I just from the development history of FoxPro to draw the above conclusions. In fact, the above three in the Visual FoxPro perfect fusion together, has been linked to the Visual FoxPro blood, indivisible, many statements, functions it is difficult to distinguish which category it belongs to (also not necessary). Moreover xbase this name is also not very proper, so easy to misunderstand, as if the language of visual FoxPro is not the development of the "dead language", is more than 10 years ago "antique", in fact, in FoxPro every upgrade (now is visual FoxPro 7) will revise and update this part of the language. I think so: The Visual FoxPro language is called it: "Visual FoxPro language," which differs from any previous xbase (most historically) and different from other programming languages. This is like Delphi, is the Object Pascal language, not the previous PASCAL;VB is VB, not the previous Basic.

Since Fox entered the visualization era, the support of COM technology has always been the place where Visual FoxPro has been improving in the past, present and future. The biggest benefit of object-oriented programming (OOP) is that code is reused. However, OOP is just an excellent solution for code reuse (solution). Simply using OOP technology requires that all objects must be done in one language, and you need to get the original program code embedded in the application (as we did in Visual FoxPro development using Class). If the object is done by you or your company it may not be a problem, but if the object is written by someone else or by another company this is the problem ... Moreover, in order to save resources, we often want to put an object on a remote computer for many applications to use, how simple, safe to complete this task? It seems that a single OOP is not possible! So Microsoft put forward the Component Object Model (COM) technology, with it we do not need to embed object source program in our application, we can use other languages developed objects, we can distribute the use of objects.

COM technology provides four different features, and Visual FoxPro supports all COM features.

    1. ActiveX documents allows users to edit the document of another application in one application. If you embed or link Word documents into Visual FoxPro, you can edit the Word document without leaving Visual FoxPro.

    2. ActiveX controls provides developers with a way to increase system functionality, typically using various ActiveX controls to strengthen the user interface. The point here is that Visual FoxPro does not support "containerized" ActiveX controls, such as cool bar controls, (7.0, not supported).

    3. Automation allows users to manipulate another application or component in one application, a typical application is the Ole-automation application of visual FoxPro and office.

    4. Remote Automation or Distributed COM (DCOM) is similar to automation technology, but it supports the distribution of components, which is Microsoft's distributed Application strategy.

Visual FoxPro does not support the development of active controls (ActiveX), but supports the development of server components, that is, in automation, Remote The components used in automation can be developed with Visual FoxPro. The ability of Visual FoxPro to start with 5.0, and to 6.0 SP 3 has been able to develop multithreaded components, which have been discussed above. Future versions of Visual FoxPro will certainly have better support for automation, especially remote automation, whether it is developing server components or visual FoxPro acting as a client program.

In summary, Visual FoxPro is an important development tool for creating mission-critical, enterprise-wide, object-oriented, multi-tiered, multi-tiered applications that can be configured locally or globally.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.