一个访问冲突(Access Violation)
将如下代码:
bool PLAYER_setFileEndMessage(int handle, HWND wnd,int msg)
void CAsfPlayerTestDlg::OnFileendbutton()
{
PLAYER_setFileEndMessage(playerId1,m_hWnd,WM_QUIT);
}
转到Delphi:
function PLAYER_setFileEndMessage(handle:Integer; wnd:HWND; msg:Integer): boolean;
procedure TasfPlayerFrm.btnEndMsgClick(Sender: TObject);
begin
PLAYER_setFileEndMessage(playerId1, asfPlayerFrm.Handle, WM_QUIT);
end;
执行时出现异常:Access violation at address 00000000. Read of address 00000000.
并且可知函数PLAYER_setFileEndMessage执行失败(该函数从dll中导出)。
而原例执行时无异常。
请指点迷津