응용 프로그램에서 MainForm이 아닌 양식으로 Windows 메시지를 보내려면 어떻게해야합니까? 아래 코드를 사용하면 액세스 위반이 발생합니다.비 주 양식으로 창 메시지를 보내는 방법
procedure TMainForm.SendMessageToAnotherForm;
begin
SendMessage(MyForm.Handle,WM_MY_MESSAGE,0,0);
end;
MyForm은 이미 만들어져 있으며 최상위 창입니다.
편집 : 또한 PostMessage를 시도했지만 동일한 액세스 위반이 발생하고 WM_MY_MESSAGE가 유효합니다. 다른 위치에서 MainForm과 통신하기 때문에 유효합니다.
SendMessage 또는 PostMessage를 사용하여 모든 양식 또는 Windows 컨트롤에 메시지를 보낼 수 있습니다. 위의 코드는 WM_MY_MESSAGE 값이 정확하고 메시지가 MyForm에서 올바르게 처리되면 정확합니다. – kludg
"액세스 위반을 제공합니다"는 액세스 위반 및 주소를 알지 못하면 의미가 없습니다. 그것은 "내 차가 더 이상 정보 없이는 의미없는 우스운 소리를 냈다"는 것과 같습니다. –