Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在节点或Java中调用Microsoft Visual Foxpro DLL_Javascript_Java_Visual Foxpro - Fatal编程技术网

Javascript 在节点或Java中调用Microsoft Visual Foxpro DLL

Javascript 在节点或Java中调用Microsoft Visual Foxpro DLL,javascript,java,visual-foxpro,Javascript,Java,Visual Foxpro,我是Visual Foxpro新手。我想使用VisualFoxpro构建一个动态链接库(dll)文件,用于在Node或Java中调用VisualFoxpro函数来构建RESTAPI 我用Node和Java进行了尝试。我在使用Foxpro dll文件时遇到了一个问题。所以我创建了一个C#dll,也遇到了同样的问题。然后我读了一篇文档,上面说在我想用另一种母语调用的函数上方使用>[DLLEXPORT]标记 我构建了一个32位和64位dll,用于我的母语代码。这是成功的。我的问题是,我想用Visual

我是Visual Foxpro新手。我想使用VisualFoxpro构建一个动态链接库(dll)文件,用于在Node或Java中调用VisualFoxpro函数来构建RESTAPI

我用Node和Java进行了尝试。我在使用Foxpro dll文件时遇到了一个问题。所以我创建了一个C#dll,也遇到了同样的问题。然后我读了一篇文档,上面说在我想用另一种母语调用的函数上方使用>[DLLEXPORT]标记

我构建了一个32位和64位dll,用于我的母语代码。这是成功的。我的问题是,我想用Visual Foxpro构建32位和64位dll文件,以便与Node.js代码一起使用

这是我的C代码

如果我没有使用
[DllExport]
标记,则无法在节点或java代码中调用getData

这是我的Node.js代码:

const ffi = require("@saleae/ffi");

const libm = ffi.Library("./FDLL", {
    getData: ["string", []],
    getData1: ["string", ["string"]]
});
它工作正常,但我的Foxpro dll不工作

这是我的Visual Foxpro代码:

这是访问我的Foxpro
GetDrugsJSON()
函数的JavaScript代码

 var libm1 = ffi.Library("./cw/comdemo", {
         GetDrugsJSON: ["String", []],
     });
    console.log(libm1.GetDrugsJSON())
但是我不能用JavaScript代码调用
GetDrugsJSON()
函数


如何解决此问题?

长话短说,您无法使用VFP构建32位和64位DLL

DLL也是一个宽泛的术语(虽然它是动态链接库的缩写,但也有不同的DLL)

您说的是“在节点或Java中构建RESTAPI”。对于创建RESTAPI,您不希望使用VFP。使用其他东西,无论是C#,去吧


对于其他语言,如果您通过VFPOLEDB访问VFP数据,那么它需要32位。

是的,但我目前正在从事一个有30年历史的项目,它被用于VFP。这些VFP函数都有很大的条件。所以我只想通过dll调用它们来制作RESTAPI来制作Web和移动应用程序。我对.net和.net核心还不熟悉。在java或Node中是否有调用VFP函数的选项。谢谢你的回答。@RameshChathuranga,我不知道直接的方法。但是,您可以间接地使用C#(ASP.NETMVC)创建RESTAPI,该C#(ASP.NETMVC)将利用这些DLL。(在我的例子中,我就是这样开始的,然后就用纯C#COM编写了所有的东西——COM是邪恶的)。
 var libm1 = ffi.Library("./cw/comdemo", {
         GetDrugsJSON: ["String", []],
     });
    console.log(libm1.GetDrugsJSON())