Delphi XE8で書かれたアプリで使用するために、デルファイXE8でDLLを作成しています。Delphi DLLの大文字と小文字の区別
私のDLLはこのように見えます。
function GetInt : Integer; stdcall;
begin
Result := 300;
end;
exports GetInt;
私のアプリはこのように見えます。
dllHandle := LoadLibrary(PChar('myDLL.dll'));
ShowMessage(SysErrorMessage(GetLastError));
if dllHandle <> 0 then
begin
@GetInt := GetProcAddress(dllHandle, 'GetInt');
ShowMessage(SysErrorMessage(GetLastError));
if Assigned(GetInt) then
ShowMessage(IntToStr(GetInt))
else
ShowMessage('Nope');
end;
「指定されたプロシージャが見つかりませんでした」というエラーが表示されます。そこで、私は輸出明細書と@GetInt明細書を "G etInt"から "g etInt"に変更します。今はすべてが問題ありません。
これで私の質問:私のdll関数とエクスポートは、大文字と小文字の区別が異なる同じ単語でなければならないのはなぜですか?
'GetProcAddress' **は大文字と小文字を区別します。コードが正しいように見えます。画像のエクスポートディレクトリ(例: 'tdump')を調べることをお勧めします –
提示されたコードでは再現できません。 –
これは決して良い兆候ではありません。 – Paul