thread問題,相關於advhttp |
尚未結案
|
stockdisk
一般會員 發表:9 回覆:14 積分:4 註冊:2003-06-06 發送簡訊給我 |
還有一個問題就是THREAD相關的。
advhttp不知道誰用過。
具介紹它是支援多線程的,但我對多線程是一無所知,也看了不少的關於多線程的文章,但就是不得要領。
1、因爲我不知道多線程支不支持元件。
2、advhttp有兩種方式,一種是異步,一種是同步。我不知道多線程用那種方式。
3、因爲我用來多次POST,一種是POST成功再POST下一次,另一種是多線程的POST。我再在只能做出同步的,但多線程的不知道爲什麽總沒有成功。我如果用異步來循環多次POST的話,結果是不管他POST成功與否它都運行下一步,我不太清楚如何控制。
誰有相關的經驗介紹一下。問題多多,沒有問題就沒有進步,謝謝各位解答一下。
下面是主要的過程
procedure TfrmOpenUrl.bStartClick(Sender: TObject);
var n:Integer;
el:TFormElement;
outbuf:string;
temp:string;
begin
wi.URL:=eUrl.Text;
wi.Method:=cbMethod.Items[cbMethod.ItemIndex];
mBody.Text:='';
mHeaders.Text:='';
outbuf:='';
case cbmethod.ItemIndex of
1:begin
wi.RequestStream.Clear;
wi.RequestHeaders.Clear;
wi.RequestHeaders.Add('Content-Type: application/x-www-form-urlencoded');
wi.RequestHeaders.Add(Format('Content-Length: %d',[length(outbuf)]));
wi.RequestStream.Write(outbuf[1],length(outbuf));
wi.RequestStream.Position;
wi.UserAgent:=httpuse.text;
wi.Start;
end;
end;
end;
成功後激活這個
procedure TfrmOpenUrl.wiRequestComplete(Sender: TObject);
var n : Integer;
ct : string;
begin
Trace('Request complete');
end;
這是主要的代碼。
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |