if not Assigned(FForm) then Exit; if not Func_GetVersionDirectX() then begin if not Assigned(FForm) then Exit; PostMessage(FForm.Handle, WM_ShowSysDetect, 0, 0); end else begin if not Assigned(FForm) then Exit; PostMessage(FForm.Handle, WM_ShowSysDetect, 0, 1); end; showmessage('one'); Sleep(500); if not Assigned(FForm) then Exit; if not Func_GetVersionMedia() then begin if not Assigned(FForm) then Exit; PostMessage(FForm.Handle, WM_ShowSysDetect, 1, 0); end else begin if not Assigned(FForm) then Exit; PostMessage(FForm.Handle, WM_ShowSysDetect, 1, 1); end; showmessage('two'); Sleep(500); if not Assigned(FForm) then Exit; if Func_IsHaveSoundCard() < 1 then begin if not Assigned(FForm) then Exit; PostMessage(FForm.Handle, WM_ShowSysDetect, 2, 0) end else begin if not Assigned(FForm) then Exit; PostMessage(FForm.Handle, WM_ShowSysDetect, 2, 1); end; showmessage('three'); TFrmSysDetect(FForm).IsSysDetecting := False; end; //这里进来后,可以正常的 showmessage