- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我一直在尝试使用 Jacob 从 Java 调用 dll 函数,但没有成功。我已经按照此处所述使用 regasm 完成了 dll 的注册 - http://www.dreamincode.net/forums/topic/114094-using-dll-library-in-java-application-using-jacob/ 。我的代码:
String serverName = "...", fileName = "...";
Dispatch dispatch = new Dispatch("dllx32conn.dbconn");
Dispatch.call(dispatch, "pass_para", serverName, fileName);
这行不通。它抛出 com.jacob.com.ComFailException: 无法将名称映射到 dispid: pass_para
因此我决定使用 JetBrains dotPeek 反编译来分析 dll 函数。这是我发现的
using System;
using System.Data;
using System.Data.SqlClient;
using System.IO;
namespace dllx32conn
{
public class dbconn
{
public static string conn_str = "";
public static string strFilePath = "";
public static SqlConnection Conn = new SqlConnection();
public static DataTable tbl;
public static SqlDataAdapter dap;
public static void pass_para(string servname, string csvpth)
{
dbconn.conn_str = "Data Source=" + servname + ";Initial Catalog=Billing;User Id=Scd;Password=Smart11Siri";
dbconn.strFilePath = csvpth;
}
}
}
我真的很感谢一些帮助来弄清楚这里没有发生什么。谢谢。
最佳答案
问题已解决 - 由于这篇文章,我只需从 DLL 方法中删除“静态”函数声明 - http://jumbloid.blogspot.com/2009/12/making-net-dll-com-visible.html
using System;
using System.Data;
using System.Data.SqlClient;
using System.IO;
namespace dllx32conn
{
public class dbconn
{
public static string conn_str = "";
public static string strFilePath = "";
public static SqlConnection Conn = new SqlConnection();
public static DataTable tbl;
public static SqlDataAdapter dap;
public void pass_para(string servname, string csvpth)
{
dbconn.conn_str = "Data Source=" + servname + ";Initial Catalog=xxx;User Id=xxx;Password=xxx";
dbconn.strFilePath = csvpth;
}
}
}
关于java - 雅各布 com.jacob.com.ComFailException : Can't map name to dispid:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26929686/
我在运行下面的代码时遇到异常线程“main”com.jacob.com.ComFailException中的异常:无法共同创建对象。 我上网寻求帮助。有些网站说我需要注册我的 dll。我尝试使用 re
我正在使用 Jacob 一个 Java-COM 桥接器,并且我已将所需的 dll 放置到 -C:\WINDOWS\system32\jacob-1.14.3-x86.dll。我还将所需的 jar 文件
我使用 jacob 最新版本和 jacobgen。 我把所有需要的dll放在c:\windows\system32 我通过 jacobgen 生成了有关 dll 的包装器。 但我有一个异常(excep
我一直在尝试使用 Jacob 从 Java 调用 dll 函数,但没有成功。我已经按照此处所述使用 regasm 完成了 dll 的注册 - http://www.dreamincode.net/fo
我正在学习本教程:http://www.joecolantonio.com/2014/07/02/selenium-autoit-how-to-automate-non-browser-based-f
我正在尝试制作人脸检测和比较代码。现在对于这个项目,我将使用ZZActiveX2.0。所以我使用 jacob 来访问 Active X。我下载了 jacob-1.19 并将 jacob-1.19-x8
我正在做一个连接门禁和考勤机的项目我发现这个项目在 github 中使用 java 连接到相同类型但为了我想设置 CardNumber 属性,我有一个异常(exception)“com.jacob.c
我是一名优秀的程序员,十分优秀!