StrataFrame Forum

FoxPro Migration Sample?

http://forum.strataframe.net/Topic5578.aspx

By Troy Murphy - 1/4/2007

We are in the R&D process of doing what you are already in the process of doing:  migrating a VFP application a form at a time into .NET. 

I have been tasked to demonstrate a proof of concept and would like to accept your offer for advice in this department. Trent mentioned the best solution would be to host a VFP screen and VFP forms within .NET and link up a UDP communication path between the apps.  Perhaps you would consider putting a very simple example of this into your samples forum?  Ideally, the plumbing could be easily added to the framework, but simply proving it is possible is the immediate task at hand.

Thanks!

By Trent L. Taylor - 1/4/2007

Troy,

Part of the problem of posting a sample in this case are some of the purchased activeX controls that are used on the FoxPro side.  Everything on the .NET side is entirely intrinsic and can be redistributed.  Really, there is just one activeX we use ... the PowerTCP UDP control from Dart on the FoxPro side to create the UDP communication.  I can create a sample but would not be able to give you any source since this would be a violation of their license agreement.

Let me think of how best to give you something on this one.  Unsure

By Trent L. Taylor - 1/4/2007

Troy,

I got to thinking that you could download their trial to make this work.  Give me a day or two and I will create you a sample that shows you how to create a .NET environment with a VFP executable running within it.

By Troy Murphy - 1/4/2007

I only need to show a functional prototype at the moment.  Anything to prove this is possible and relatively simple to implement.  A primer would be nice. 

I assume this is the control that provides the UDP communication you are referring to?  Just curious why UDP was used - certainly there are more efficient communication channels available for communication within the same machine... 

Anyway, we can certainly purchase the active-x control you are referring to.  If you already have the plumbing in place that makes this possible, we will purchase whatever is needed. 

By Troy Murphy - 1/4/2007

It seems you added another post while I was writing another. 

I am looking forward to the sample - I will download (probably purchase) the control from Dart. 

By Trent L. Taylor - 1/4/2007

Just curious why UDP was used - certainly there are more efficient communication channels available for communication within the same machine... 

I don't know of what would be more effecient.  You only have two other options...TCP/IP or writing to a file.  You could also try to create subscriptions through COM+ (Enterprise Services) ....but again, this is much more overhead and much more complicated which just presents more issues in the field and during the installation.  If you use TCP then you would have to have a server/client relationship and maintain the sockets.  Again, more work and effort than is really necessary for something like this.  We needed an asynchronous and threaded tunnel for communication between two executables that are non-related...UDP was the best choice.

The best solution is always the one that produces the fewest issues in the field when dealing with something like this.  UDP is a lightweight communication protocol that is very easy to implement and has a very low potential of breaking.  It is as simple as making sure a port is available and starting a listener.  Also, using UDP you do not have to read a stream and maintain all of the incoming byte information.  It is a simple broadcast and a clean, simple, and reliable solution.

By Troy Murphy - 1/11/2007

Hi Trent,

I hate to beg, but we are still awaiting your sample of hosting VFP in .NET and communicating between them.