Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>I now have some experience with the VFP to .Net Compiler which you can find <a href="http://etecnologia.net/Products/VFPCompiler/VFPCompiler-index.htm" rel="nofollow noreferrer">here</a>.</p> <p>This is actually a compiler for .Net and has nothing to do with COM Interop or Web Services. The whole thing is built around SharpDevelop which ships with the compiler. Effectively you can fire up SharpDevelop and type in a FoxPro PRG. There is full in intellisense and most if not all Fox commands and functions are supported. When you hit compile, what comes out the other side is a full .Net assembly.</p> <p>If you run the assembly there is no instance of VFP and no COM interop in sight. How does it work? The guys behind it have created .Net functions which map onto the Fox functions, so for example if you call the StrToFile() this is the code that actually runs (brought to you by the wonders of Reflector):</p> <pre><code>public static void StrToFile(string cExpression, string cFileName) { if (File.Exists(cFileName)) { File.Delete(cFileName); } FileStream stream = new FileStream(cFileName, FileMode.CreateNew, FileAccess.ReadWrite); StreamWriter writer = new StreamWriter(stream); writer.Write(cExpression); writer.Flush(); writer.Close(); stream.Close(); } </code></pre> <p>What this means is that if you are very productive in Fox but you a need .Net solution you can code in Fox and produce a .Net assembly.</p> <p>I would however advise some caution as not everything is implemented as nicely as the StrToFile example above. The way it models things like Fox forms is pretty awful, although it does work (you can take an existing Fox form and add it to SharpDevelop and it will turn it in to a .Net form). If anyone wants any more detail I'll be happy to expand on this.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload