私の会社は、VFoxpro 9.0からサードパーティのPDFジェネレータを使用しようとしています。彼らは私たちに.dll COMファイルとメソッドドキュメントを提供しましたが、Foxproをサポートしていないので、彼らはこれを手伝うことができません。FoxproからのCOMメソッドへのアクセス
私はDLLを登録してCOMをロードし、成功しました。私はcreateobject()を実行した後、intellisenseがメソッドのリストを表示するので、正しくインポートすることがわかります。しかし、いずれかのメソッドを呼び出すと、「構文エラー」というポップアップウィンドウが表示されますが、これはほとんど役に立ちません。私は引数がないメソッドを1つ呼び出すことを試みました。問題が慣習に合格している場合に備えて、 "構文エラー"も返されます。オブジェクトを作成してメソッド呼び出しに使用する以外に何か必要なことはありますか?
私は実際にfoxproの人ではありませんが、私はExcel.Applicationのような異なるCOMを使って同じことを試みました。 COMがFoxproと互換性がない、または動作させるために他の操作が必要な理由はありますか?
ありがとうございます。
OK、1日半後に問題が見つかりました。
a=createobject("library.class")
と入力してから= a.method()
と入力し、「構文エラー」を返していました。私は変数を何かを呼び出す場合a
が動作することが判明!変数名がa
の場合、正しく解析されないように、foxproに何らかのバグがあるようです。 b
、x
、anotherName
、またはそれ以外のものを使用している場合。私が?a
と入力すると、それはa
が(object)
であることを確認し、私はintellisenseがすべてのメソッド名とタイプを認識していると言っています。私はjavaに戻るのを待つことができません。
他の回答は必要ありませんが、他の悪い魂を助けることができる場合に備えて、私はこれを残します。
コードスニペットを投稿 –
文字AからJは、最初の10のワークエリアの代替名としてFoxProに予約されています。 (これは下位互換性の問題です。)一般的には、それらを変数名として使用することは好ましくありません。フィールドと変数を区別するために予約されている文字Mの同上。 –
こんにちは@Russel、自分で見つけた回答を*回答として投稿して受け入れることができますか?この質問は「未回答の質問」のリストに残りません。そして、私はあなたがJavaの世界に戻って楽しんでいることを願っています;)... –