procedure TFrmDefQXGYS.BtnQueryClick(Sender: TObject);
var
GSXXRec: TDictionary<string, Variant>;
begin
inherited;
if DoSelectGSXX(GSXXRec) then
cdsGSXX.Locate('GSXX01',VarArrayOf([GSXXRec.Items['sGSID']]), []);
end;
uj5u.com熱心網友回復:
顯示undeclared identifier 'TDictionary'uj5u.com熱心網友回復:
function DoSelectGSXX(var GSXXRec: TDictionary<string,Variant>; iGSLX: Integer = 0;bRoles: Boolean = False; strSql: ISuperObject = nil; isSelf: Boolean = False): Boolean;
var
XMLString: String;
Json: ISuperObject;
begin
Result := False;
try
Json := SO();
if ur.Items['OperGSXX']<>'' then
AddJson(Json,['CZGS'],[MakeJsonForOperID(ur.Items['OperGSXX'])]);
AddJson(Json,['Length'],[1]);//公司代碼長度控制,0表示不控制,1表示控制長度只能是四位
AddJson(Json,['GSXX01'],[ur.Items['sGSID']]);
AddJson(Json,['GSID'],[Copy(ur.Items['sGSID'],1, 2)]);
case iGSLX of
0:AddJson(Json,['iGSLX'],[0]);
1:AddJson(Json,['iGSLX'],[1]);
2:AddJson(Json,['iGSLX'],[2]);
3:
begin
AddJson(Json,['iGSLX'],[3]);
if ur.Items['OperGSXX']='' then
AddJson(Json,['CXJB'],[StrToInt(ur.Items['iCXJB'])]);
AddJson(Json,['isSelf'],[Ord(isSelf)]);
end;
end;
AddJson(Json,
['sqlid'],
['JlClientCom_Bus.Pub_GSXX']);
if Assigned(strSql) then
Json.Merge(strSql);
with DM00.cdsGSXX do
begin
XMLData:=TTransport.select(Json.AsString);
if IsEmpty then
begin
Result:=False;
end
else
begin
XMLString := DoQuery_Data('DynFrmSelFour',GetMessageString('CJLForm','','MSG039'), dm00.cdsGSXX);
if Length(XMLString) > 0 then
begin
GSXXRec := TDictionary<string,Variant>.Create;
XMLData:=XMLString;
GSXXRec.Add('sGSID', FieldByName('GSXX01').AsString);
GSXXRec.Add('sName', FieldByName('GSXX02').AsString);
Result := True;
end;
end;
end;
except
on E : Exception do
begin
MyMessageError(GetMessageString('CJLForm','','MSG040') + #13 + E.Message);
end;
end;
end;
uj5u.com熱心網友回復:
參考System.Generics.Collections
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/84777.html
標籤:VCL組件開發及應用
上一篇:delphi使用setwindowspos改其他程式解析度,導致我自己程式卡死的問題
下一篇:FASTREPORT報表問題
