gpt4 book ai didi

java - 带有 ADO(连接和查询)的 DLL (Delphi) 在 Java 中不起作用(使用 jna)

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:29:50 25 4
gpt4 key购买 nike

我有一个包含 ADOConnection 和 ADOQuery 的 dll (Delphi),但是当在 java 中运行调用的 DLL(使用 JNA)时,控制台会出现一些错误信息(如下):

A fatal error has been detected by the Java Runtime Environment:

Internal Error (0xeedfade), pid=4400, tid=3840

JRE version: 6.0_25-b06 Java VM: Java HotSpot(TM) Client VM (20.0-b11 mixed mode, sharing windows-x86 ) Problematic frame: C [KERNELBASE.dll+0x812f]

An error report file with more information is saved as: C:\Users\Mmn1\Documents\NetBeansProjects\FLMOPDL\hs_err_pid4400.log

If you would like to submit a bug report, please visit:
http://java.sun.com/webapps/bugreport/crash.jsp The crash happened outside the Java Virtual Machine in native code. See problematic frame for where to report the bug.

这是什么错误?(我意识到只有当我有一个表单或作为 ADOConnection ADOQuery 的组件时才会发生,如果我删除这些组件并执行一个简单的功能,它会正常工作)。

编辑:

类似的例子如下:

library TESTLIB;
{$DEFINE TESTLIB}

uses
System.SysUtils,
System.Classes,
TestInt in 'TestInt.pas',
Vcl.Dialogs,
sharemem,
Data.DB, Data.Win.ADODB;

{$R *.res}

function MyReturn(x: Integer; Test: PTest): Boolean; stdcall;
var
ado: TADOQuery;
begin
Result := True;
//ado := TADOQuery.Create(nil); <- With this i got a error!
end;

exports MyReturn;

begin
end.

Java 接口(interface)

public interface TestInt extends StdCallLibrary {
TestInt INSTANCE = (TestInt)Native.loadLibrary("C:/test/Win32/Debug/TESTLIB", TestInt.class);

class Test extends Structure {
public String vResult;

public Test() { }
public Test(int x, Pointer p) {
super(p);
read();
}
protected List getFieldOrder() { return Arrays.asList(new String[] { "vResult" }); }
}

Boolean MyReturn(int x, Test test);
}

结论:当我使用组件时,会出现此错误。感谢您的帮助。

最佳答案

根据消息,问题是

outside the Java Virtual Machine

在这种情况下,它可能在 Delphi 代码中。

您可能想联系 Delphi 代码的开发人员,看看他们是否可以帮助解决问题,或者您自己浏览代码以查看发生了什么。 hs_err_pid4400.log 文件将包含对他们有值(value)的信息。

无论哪种方式,如果没有 Delphi 源代码,都很难解决问题。

关于java - 带有 ADO(连接和查询)的 DLL (Delphi) 在 Java 中不起作用(使用 jna),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15763993/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com