函式一:URL靜態賦值,正常使用
function PostDemo:string ;
var
IdHttp : TIdHTTP;
IdSSLIOHandlerSocketOpenSSL: TIdSSLIOHandlerSocketOpenSSL;
Url : string;
jsonToSend : TStringStream;
begin
IdHttp := TIdHTTP.Create(nil);
IdSSLIOHandlerSocketOpenSSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
IdHttp.IOHandler := IdSSLIOHandlerSocketOpenSSL;
IdHttp.HandleRedirects := True;
IdHttp.Request.ContentType := 'application/json';
try
url:='https://wai.xxxx.com/api/stock?id=3007&code=1548'+
'&m_data=https://bbs.csdn.net/topics/[{"cine_code":"00323","stock":"14"},{"cine_code":"00711","stock":"25"}]'+
'×tamp=1611131907&sig=0289503c830be70c601f9666621984f6';
try
Result :=IdHttp.Post(url,jsonToSend);
except
on e : Exception do
begin
ShowMessage(e.Message);
end;
end;
finally
jsonToSend.free;
IdHttp.free;
end;
end;
函式二:URL動態賦值,報錯,無法使用。這里的url該如何定義?
function PostDemo(url:string):string ;
var
IdHttp : TIdHTTP;
IdSSLIOHandlerSocketOpenSSL: TIdSSLIOHandlerSocketOpenSSL;
jsonToSend : TStringStream;
begin
IdHttp := TIdHTTP.Create(nil);
IdSSLIOHandlerSocketOpenSSL := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
IdHttp.IOHandler := IdSSLIOHandlerSocketOpenSSL;
IdHttp.HandleRedirects := True;
IdHttp.Request.ContentType := 'application/json';
try
try
Result :=IdHttp.Post(url,jsonToSend);
except
on e : Exception do
begin
ShowMessage(e.Message);
end;
end;
finally
jsonToSend.free;
IdHttp.free;
end;
end;
//呼叫報錯
procedure TForm1.Button1Click(Sender: TObject);
var
url:string;
begin
url:='https://wai.xxxx.com/api/stock?id=3007&code=1548'+
'&m_data=https://bbs.csdn.net/topics/[{"cine_code":"00323","stock":"14"},{"cine_code":"00711","stock":"25"}]'+
'×tamp=1611131907&sig=0289503c830be70c601f9666621984f6';
Memo1.Text := PostDemo(url);
end;
uj5u.com熱心網友回復:
你這兩個函式里的jsonToSend 都沒創建,肯定的是兩個都會報錯,不可能是你說的第一個不報第二個報。然后再說,url的呼叫方式是正確的,兩個的區別只在于一個是函式內定義并賦值,另一個是通過引數由函式外賦值,而在函式內的使用并不會有區別。
還有,下次提問不要只說報錯,你得明確的說報了什么樣的錯,錯誤提示是什么。首先要學會怎么提問,怎么描述問題,別人才可能更好的幫你解決。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/250957.html
標籤:VCL組件開發及應用
下一篇:2020-01-20:mysql中,一張表里有3億資料,未分表,要求是在這個大表里添加一列資料。資料庫不能停,并且還有增刪改操作。請問如何操作?
