-4

vb.net プロジェクトに Delphi DLL をインポートしようとしました

これは私のコードです:

Private Declare Function AddIntegers Lib "C:\Program Files (x86)\Borland\Delphi6\Projects\first dll\Project2.dll" Alias "AddIntegers" (ByVal a As Integer, ByVal b As Integer) As Integer

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim ii As Integer = AddIntegers(1, 3)
        MsgBox(ii)
    End Sub

これは Delphi ライブラリ コードです。

library MyFirstLibrary;

uses
  SysUtils,
  Classes;

{$R *.res}

function AddIntegers(_a, _b: integer): integer; stdcall;
begin
  Result := _a + _b;
end;

exports
   AddIntegers;
begin
end.

EntryPointNotFoundException があります。

Unable to find an entry point named 'AddIntegers' in DLL 'C:\Program Files (x86)\Borland\Delphi6\Projects\first dll\Project2.dll'.":""

EntryPointNotFoundException (関数 AddIntegers は私のデルファイ コードに存在します) を修正するにはどうすればよいですか? (vb.net または c#)

4

2 に答える 2

5

私の推測では、別のライブラリをロードしていると思われます。をロードしていますが、質問に投稿したコードでProject2.dllDelphi ライブラリが呼び出されています。MyFirstLibrary.dll

于 2013-02-03T11:51:02.057 に答える
0

DllImport直接、別の呼び出し規約修飾子を適用して試してみてください。

<DllImport("C:\Program Files (x86)\Borland\Delphi6\Projects\first dll\Project2.dll", CallingConvention:=CallingConvention.StdCall)> _
Private Shared Function AddIntegers(ByVal a As Integer, ByVal b As Integer) As Integer
于 2013-02-03T11:51:42.727 に答える