Import, No. Import To Migrate, Yes

"The whole is larger than the sum of the parts." That's an idea I ran across some 45 years ago, and it's something I find useful in looking at software applications. We have all these parts that relate to each other, and somehow get things done that are far beyond the capability of any of the parts. Systems Theory says the same thing, but with more detail, encompassing the idea that ihow the parts relate to each other creates an entity of its own, called a System.

Looking at a VFP application, we find that, in one way or another, there is a starting point that has one important component, after which the system takes over. When that starting point was created (during a FoxPro beta in 1992) it was called The Mother Of All Reads, in humorous reference to the first Iraq War, which was billed by the then-Iragi dictator as "The Mother Of All Wars."

If you have programmed in VFP, you recognize it as 


Lianja has no READ EVENTS. It has a CLEAR EVENTS, as a Form (which is different than a section, the principal Lianja UI object for displaying controls, much like a VFP form is the principal UI object for displaying controls) issues an implicit READ EVENTS, which is cleared when the form exits, or when a CLEAR EVENTS is issued. In other words, the Lianja "application system" is configured differently from the VFP "application system." This is not the only way that the two systems are configured differently, in fact.

So this means that you can't look for a one-to-one match between your VFP program, and the Lianja program that you are building to take the place of the VFP program. You need to work within the Lianja System, not the VFP System.

And that means learning to understand the Lianja System. There are many great documents on the Lianja site that give you a comprehensive map of the Lianja system. To quote the founder of Systems Theory, "the map is not the territory." If I give you a comprehensive map of downtown Manhattan, you can study the map all you want, and you still won't know downtown Manhattan. Using the map will help you get around Manhattan, and as you spend time there, you will get to smell the fresh bagels at Ess-a-Bagel (1st & 21st) and observe the patient line of people waiting to pick up their bagels. And if you stay long enough, you'll get to know the patterns of what people do, and recognize the small, unnamed neighborhoods  defined by who goes to what Greek coffee shop the same time each morning, and who goes to which dry cleaners and which Korean neighborhood store.

In other words, to go beyond the map to the territory, you will have to spend time experiencing the territory, working from the map (in order to save a lot of time). You need to enter the Lianja System, just as you would enter a somewhat foreign culture, in order to know the system, how the parts relate to each other, in detail, beyond what any map can give you in the way of in-depth knowledge. In fact, what you are doing is creating an experiential map that is far more complex than the paper map from which you learned.

That's why you can't simply import your VFP programs to Lianja. Your job as a developer is to deliver an application that takes certain inputs and products certain outputs. In order to do that, you need to work from inside whatever system you are using. Lianja, as did VFP, gives us a system we can get to know rather quickly (compared to many other systems, which shall .not* be named <s>). Lianja and VFP are different systems, for good reason. Each is consistent with it's purpose, and designed to fulfill that purpose: that's the nature of Systems. You can use the parts of the your VFP program, you can not use the VFP system within Lianja.

Import, No. Import To Migrate, Yes.

* To be fair to .NET: is is a brilliantly architected software framework, from a Computer Science perspective. It was not created from the perspective of application developers. For example, it shipped with some 44,000 classes, and one estimate has it having 200,000 classes now. In other words, it is a system that has to be approached from the map, not by an internalized map created by experience. When I realized that, back in 2001, I realized it was not going to work for what I do with software.