4

私は Java の初心者で、デルファイ DLL をロードして、そこから関数を呼び出そうとしています。

winbinder を使用して php で既に試しましたが、役に立たないようです: winbinder (php gui) で dll をリロードすると、プログラムがクラッシュします

とにかく、私はこの単純な Java コードを持っていますが、それを機能させる方法がわかりません。インターネット上にいくつかの例がありますが、どれも私にとってはうまくいかないようです。

Dll は 32 ビットで、私の Windows、jdk、Eclipse も同様です。使用する Simples 関数はGetDllVersion. 私は本当にどんな助けにも感謝します。

私はそれをロードすることさえできません。これが最初のエラーです (以下にいくつかのポップアップがあります):

ここに画像の説明を入力

コードは次のとおりです。

import com.sun.jna.Library;
import com.sun.jna.Native;
import com.sun.jna.NativeLong;
import com.sun.jna.Platform;
import com.sun.jna.*;

public class Main {

      static {
        try {
            System.load("C:/workspace/XmlDownlaoder/xxxxxxxDLL.dll");
        } catch (UnsatisfiedLinkError e) {
          System.err.println("Native code library failed to load.\n" + e);
          System.exit(1);
        }
      }

      public static void main(String argv[]) 
      {
        //how to call functions here? - there will be many functions, and final one should generate xml in return

      }
    }

編集: Native code library failed to load- これはコンソールには表示されません。

4

1 に答える 1

1

DLL を手動でロードしないでください。JNA に単調な作業を任せてください。

Delphi JNAを検索すると、かなりの数の優れたリソースがあります。

おそらく遭遇する可能性のあるもののいくつかを説明するいくつかの関連するスタック オーバーフローの質問:

于 2013-05-11T21:33:01.497 に答える