SMS로 게임을 시작했으며 게시 요청이있는 웹 사이트를 방문하고 결과를 표시하는 프로그램 (레이블 및 버튼)을 만들려고했습니다.TW3HttpRequest를 사용하여 POST 데이터를 보내려면 어떻게해야합니까?
힌트/경고/오류에는 아무런 문제가 없으며 모든 것이 나에게 잘 어울립니다. 다음 코드는 기존의 몇 가지 예제를 다시한데 모은 것입니다. catch되지 않은 형식 오류 : [라인 # 6277] 널 (null)의 특성 'readyState의'를 읽을 수 없습니다
이오류가있는
procedure TForm1.ExecuteCmd;
var
whttp : TW3HttpRequest;
wParams : string;
begin
wHttp := TW3HttpRequest.Create;
try
whttp.OnDataReady := lambda (Sender)
if (w3Label1.caption = '') then
w3Label1.caption := wHttp.ResponseText;
end;
whttp.OnReadyStateChange := lambda (Sender)
if (wHttp.ReadyState = 4) and (wHttp.Status = 200) then
begin
if (w3Label1.caption = '') then
w3Label1.caption := wHttp.ResponseText;
end;
end;
wParams := 'cmd=TestID1';
whttp.open('POST','http://www.server1.com/executecmd.php');
whttp.RequestHeaders['Content-type'] := 'application/x-www-form-urlencoded';
whttp.Send(wParams);
finally
wHttp.free;
end;
end;
procedure TForm1.W3Button1Click(Sender: TObject);
begin
ExecuteCmd;
end;
문제는이 실제로 나는 다음과 같은 오류 메시지가 버튼을 클릭 할 때입니다 자동 생성 된 코드와 내가 특별히 쓴 것과 관계가없는 것 같습니다. ReadyState에 대한 모든 참조를 코드에서 제거한 후에도 오류가 발생합니다.
무엇이 누락 되었습니까? 나는 그것이 Lambda 함수와 관련이 있다고 느낍니다.
감사 gabr은. 'whttp.free;를 꺼내서 문제를 해결했습니다. 설명을 마치면 자바 스크립트는 쓰레기 수거 언어이므로 총체적으로 이해할 수 있습니다. 나는 SMS를 사용하려고 시도한다면 이런 유형의 사고에 대한 생각을 바꾸어야한다고 생각합니다. –