WinHttp लाइब्रेरी का उपयोग करने के बारे में jsobo सलाह के आधार पर, मैं इस बहुत चाल के साथ आया था जो सरल कोड है। कहें, आप वास्तविक स्थापना शुरू होने से ठीक पहले सत्यापन के लिए सीरियल नंबर भेजना चाहते हैं। कोड अनुभाग में, डाल:
procedure CurStepChanged(CurStep: TSetupStep);
var
WinHttpReq: Variant;
begin
if CurStep = ssInstall then
begin
if AutoCheckRadioButton.Checked = True then
begin
WinHttpReq := CreateOleObject('WinHttp.WinHttpRequest.5.1');
WinHttpReq.Open('POST', '<your_web_server>', false);
WinHttpReq.SetRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
WinHttpReq.Send('<your_data>');
// WinHttpReq.ResponseText will hold the server response
end;
end;
end;
Open
विधि तर्कों के रूप HTTP विधि लेता है, यूआरएल और async अनुरोध करने के लिए है कि क्या और ऐसा लगता है कि हम application/x-www-form-urlencoded
को Content-Type
हैडर सेट करने के लिए SetRequestHeader
जोड़ने की जरूरत ।
WinHttpReq.Status
प्रतिक्रिया कोड यदि सर्वर सफलतापूर्वक लौटा तो जाँच करने के लिए आयोजित करेगा,:
if WinHttpReq.Status <> 200 then
begin
MsgBox('ERROR', mbError, MB_OK);
end
else
begin
MsgBox('SUCCESS', mbInformation, MB_OK);
end;
http://msdn.microsoft.com/en-us/library/aa384106.aspx सूचियों सभी तरीकों और WinHttpRequest
ऑब्जेक्ट के गुणों को।
साथ ही, रन-टाइम त्रुटियों से बचने के लिए (यदि मेजबान पहुंच योग्य नहीं है तो हो सकता है) try/except
कोड के साथ कोड को घेरना एक अच्छा विचार है।
स्रोत
2011-07-17 08:57:23
कस्टम .exe के साथ हमारे प्रोजेक्ट दृष्टिकोण में ठीक काम करता है। – Sasha