2011-08-11 72 views
1

我的公司試圖在VFoxpro 9.0中使用第三方PDF生成器。他們提供了一個.dll COM文件和方法文檔,但他們不支持Foxpro,所以他們無法提供幫助。從Foxpro訪問COM方法

我註冊了DLL並加載了COM,它成功了 - 在我創建對象()後,intellisense提示我提供了方法列表,所以我知道它正確地導入了它們。但是,當我嘗試調用任何一種方法時,我會看到一個彈出窗口,它只是簡單地說出「語法錯誤」,這只是很少幫助。我試着調用一個不帶參數的方法,以防問題通過約定,但也會返回「語法錯誤」。除了創建對象並將其用於方法調用之外,還有什麼需要做的嗎?

我不是一個真正的foxpro傢伙,但我已經嘗試過使用不同的COM,像Excel.Application這樣的東西,他們的工作,因爲我期望他們。是否有任何理由COM可能與Foxpro不兼容,或需要一些其他操作來使其工作?

非常感謝您的任何建議。


好的,一天半之後我發現了這個問題。

我在輸入a=createobject("library.class"),然後輸入= a.method(),它返回「語法錯誤」。事實證明,如果我把這個變量叫做a,那麼它就可以工作!看來在foxpro中存在某種錯誤,所以當變量名稱爲a時,它不能正確解析它。如果我使用b,x,anotherName或其他任何工作。如果我輸入?a它確認a(object),正如我所說的,intellisense正在識別所有方法名稱和類型。我迫不及待地想回到java。

非常感謝,沒有其他答案是需要的,但我會留下它以防萬一它可以幫助其他可憐的靈魂。

+0

發佈代碼段 –

+4

字母A到J在FoxPro中被保留爲前10個工作區的替代名稱。 (這是一個向後兼容的東西。)通常,使用它們中的任何一個作爲變量名是一個壞主意。字母M也是這樣,它保留用於區分變量和字段。 –

+1

嗨@Russel,你可以發表你自己發現的答案*作爲答案*並接受答案,這樣這個問題就不會留在「未回答的問題」列表中嗎?我希望你在java世界中重獲樂趣; - )... –

回答

0

查看答案我在上面輸入 - 變量不能被稱爲「a」。對不起,沒有將它作爲答案輸入,因此可能會被關閉。

+0

沒有阻止你將上述信息放入一個答案並接受它。 –