我有一个在 Delphi XE4 中构建的安静的应用程序服务器,我所有的带有复杂参数的 JSON 方法(如 JSONObject)都作为 nil 或空对象接收。我已经阅读了很多教程,但我仍然不知道为什么它不起作用。
我正在使用 Chrome 浏览器中的一个名为“Advanced rest client app”的工具测试我的应用程序服务器。
重要事实:如果我有一个用 Delphi 构建的客户端,它运行得非常好。如果我尝试使用任何客户端使用 GET 请求,它会完美运行。
相同的代码:
function TServerMethods.cancelDeleteCheque(const aJSONObject: TJSONObject): TJSONObject;
var
DMCheques: TDMCheques;
sException: String;
begin
try
try
sException := _EMPTY;
result := TJSONObject.Create(nil);
DMCheques := TDMCheques.GetInstance(nil);
with aJSONObject do
begin
DMCheques.AddFilter(Format(' (CDCHENUMERO = %s) AND (NUMEROBANCO = %s) ', [QuotedStr(TJSONString(Get(0).JSONValue).Value),
QuotedStr(TJSONString(Get(1).JSONValue).Value)]));
DMCheques.cdsprincipal.Open;
DMCheques.cdsPrincipal.Delete;
end;
except
on E: Exception do
sException := E.Message;
end;
finally
if sException <> _EMPTY then
result.AddPair(_EXCEPTION, TJSONString.Create(sException));
if Assigned(DMCheques) then
FreeAndNil(DMCheques);
end;
end;
我收到此消息错误:“Project AppServer.exe 引发异常类 $C0000005 并带有消息‘在 0x0069b470 处的访问冲突:读取地址 0x0000000c’。” 当我尝试访问 aJSONObject 参数时。
谢谢!