質問

VFP to .Netコンパイラの経験があるか、知識があります

私は、VFP9アプリケーションを幅広く扱う会社で働いています。彼らは、.Netでアプリを実行する簡単な方法を探しています。このコンパイラを実行可能なオプションであるかどうかを確認するように依頼されましたが、これまでのところ、「Hello World」さえも正常にコンパイルすることができませんでした。ワールドアプリケーションは実行されません。

その最後の発言を修飾するために:本当にシンプルなFoxアプリを"コンパイル"することができます。ただし、生成された.Net実行可能ファイルは正常に実行されません。ソースを分解してC#に変換しましたが、通常は多くのエラー(100以上)が含まれています。

私はテクノロジー全体を手に負えないようにしたいと思っていますが、これに対する多くのサポートと、Foxユーザーコミュニティに関する興奮があるようです。誰にもこれに関する洞察がありますか?

VFP to .Netコンパイラへのリンク

役に立ちましたか?

解決

こちらで見つけることができるVFP to .Netコンパイラの経験があります。

これは実際には.Netのコンパイラであり、COM InteropまたはWebサービスとは関係ありません。全体は、コンパイラに同梱されているSharpDevelopを中心に構築されています。効果的に、SharpDevelopを起動してFoxPro PRGを入力できます。インテリセンスがいっぱいで、すべてではないにしてもほとんどのFoxコマンドと機能がサポートされています。コンパイルを押すと、反対側に現れるのは完全な.Netアセンブリです。

アセンブリを実行すると、VFPのインスタンスもCOM相互運用機能もありません。どのように機能しますか?その背後にいる人たちは、Fox関数にマップする.Net関数を作成しているので、たとえば、StrToFile()を呼び出すと、これは実際に実行されるコードになります(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();
}

これは、Foxで非常に生産的であるが、.Netソリューションが必要な場合、Foxでコーディングして.Netアセンブリを生成できることを意味します。

ただし、上記のStrToFileの例ほどうまく実装されているわけではないため、注意が必要です。 Foxフォームのようなものをモデル化する方法はかなりひどいですが、動作します(既存のFoxフォームをSharpDevelopに追加すると、.Netフォームに変換できます)。さらなる詳細が必要な場合は、これについて詳しく説明します。

他のヒント

VFPは直接「コンパイル」しません; .Net製品へ。ただし、COM経由でアクセスし、シングルまたはマルチスレッドDLLとしてプロジェクトを作成できます。

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

その後、COM相互運用機能として追加すると、.Netでメソッドとプロパティが利用可能になります。関数はVFP、クエリ、自動化などのほとんどすべてを実行できます。また、XMLAdapterを実行してXML文字列を生成し、単一または複数のカーソルセットを1つの大きなチャンクとして返すか、異なるメソッドへの複数の呼び出しを介して個別に返すことができます。

がんばって。

ところで... .netを介した変換/アクセスを検討しているVFP開発者向けに、2つのセミナーが開催されています。 1つは http://www.oakleafsd.com/ 、もう1つは http://www.eps-software.com/

VFP Developer Studio for .Netのフォームに関する追加情報:eTecnologiaは、SharpDevelopでVFPフォームとして設計されたフォームが、IEを除くすべてのブラウザーで実行可能なSVGにオプションでコンパイルされることを発表しました。 IEでSVGをSWFに変換します。また、SharpDevelopで設計されたVFPフォーム用のXAMLの出力にも以前から取り組んでいます。さらに、.Netコントロール、COMコントロール、およびJavaコントロールは、Developer Studioに付属するカスタマイズされた#Dで設計されたVFPフォームで使用できるようになります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top