Domanda

Qualcuno ha avuto esperienza o conoscenza del VFP al compilatore .Net ?

Sto lavorando per un'azienda con una vasta gamma di applicazioni VFP9 e stanno cercando un modo rapido per far funzionare le app in .Net. Mi è stato chiesto di dare un'occhiata a questo compilatore per vedere se è un'opzione praticabile, ma finora non sono stato in grado di farlo compilare con successo nulla - anche il mio "Ciao Mondo" " l'applicazione mondiale non viene eseguita.

Solo per qualificare l'ultima osservazione: posso ottenere app Fox davvero semplici per "compilare" ma l'eseguibile .Net che viene prodotto non viene eseguito correttamente. Ho smontato la fonte e l'ho trasformata in C # ma generalmente contiene molti errori (100+).

Sono tentato di scartare l'intera tecnologia, ma sembra che ci sia molto supporto per questo ed entusiasmo per la comunità di utenti Fox. Qualcuno ha qualche idea in merito?

Ecco un link al VFP al compilatore .Net

È stato utile?

Soluzione

Ora ho una certa esperienza con il compilatore VFP a .Net che puoi trovare qui .

Questo è in realtà un compilatore per .Net e non ha nulla a che fare con l'interoperabilità COM o i servizi Web. Il tutto è costruito attorno a SharpDevelop fornito con il compilatore. In effetti è possibile avviare SharpDevelop e digitare un PRG FoxPro. C'è pieno di intellisense e la maggior parte se non tutti i comandi e le funzioni Fox sono supportati. Quando si avvia la compilazione, ciò che viene visualizzato dall'altra parte è un assembly .Net completo.

Se si esegue l'assemblaggio non è visibile alcuna istanza di VFP e nessuna interoperabilità COM. Come funziona? I ragazzi dietro di esso hanno creato funzioni .Net che si associano alle funzioni Fox, quindi ad esempio se chiami StrToFile () questo è il codice che viene effettivamente eseguito (offerto dalle meraviglie di Reflector):

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();
}

Ciò significa che se sei molto produttivo in Fox ma hai bisogno di una soluzione .Net puoi codificare in Fox e produrre un assembly .Net.

Vorrei tuttavia consigliare alcune precauzioni in quanto non tutto è implementato correttamente come nell'esempio StrToFile sopra. Il modo in cui modella cose come i moduli Fox è piuttosto terribile, anche se funziona (puoi prendere un modulo Fox esistente e aggiungerlo a SharpDevelop e lo trasformerà in un modulo .Net). Se qualcuno vuole ulteriori dettagli, sarò felice di approfondire questo.

Altri suggerimenti

VFP non "compila" direttamente " a un prodotto .Net. Tuttavia, è possibile accedervi tramite COM e creare un progetto come una DLL singola o multi-thread.

define class MyVFPForDotNet as custom OLEPUBLIC
  cSomeProperty = ""
  nOtherProperty = ""

  Function Init()
     cSomeProperty = curdir()

  endfunc

  Function SendBackAMessage()
     return "Hello World"
  endfunc

  function CallWithParms( cParm1 as String, nParm2 as Integer, dSomeDate as DateTime )
     .. do whatever

     return "whatever"
  endfunc

enddefine

Quindi è possibile aggiungerlo come interoperabilità COM e i metodi e le proprietà sarebbero disponibili in .Net. Le tue funzioni possono fare quasi tutto in VFP, query, automazione, ecc. E puoi semplicemente fare XMLAdapter per generare stringhe XML per restituire insiemi di cursori singoli o multipli come un grosso blocco, o individualmente tramite più chiamate a metodi diversi.

Buona fortuna.

A proposito ... ci sono due seminari imminenti offerti agli sviluppatori VFP che stanno cercando di convertire / accedere via .net. Uno su http://www.oakleafsd.com/ , un altro su http://www.eps-software.com/

Alcune informazioni aggiuntive sui moduli in VFP Developer Studio per .Net: eTecnologia ha annunciato che i moduli progettati come moduli VFP in SharpDevelop verranno opzionalmente compilati in SVG, che può essere eseguito su tutti i browser tranne IE, anche se è presente un plug-in Google in per IE che converte SVG in SWF. In precedenza si sono anche impegnati a produrre XAML per moduli VFP progettati in SharpDevelop. Inoltre, i controlli .Net, i controlli COM e ci viene detto che i controlli Java saranno tutti in grado di essere utilizzati sui moduli VFP progettati nel #D personalizzato fornito con Developer Studio.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top