Michaël Van Canneyt пре 2 година
родитељ
комит
8b3c9e0970
1 измењених фајлова са 12 додато и 7 уклоњено
  1. 12 7
      packages/fcl-web/src/jsonrpc/fpjsonrpc.pp

+ 12 - 7
packages/fcl-web/src/jsonrpc/fpjsonrpc.pp

@@ -1283,13 +1283,18 @@ begin
     If (I<>-1) then
       D:=O.Items[i]
     else if (jdoRequireClass in options) then
-      Exit(CreateJSON2Error(SErrNoClassName,[ClassNameProperty],EJSONRPCInvalidRequest,ID,transactionproperty));
-    // Check if it is a string
-    if Not (D is TJSONString) then
-      Exit(CreateJSON2Error(SErrInvalidClassNameType,[ClassNameProperty],EJSONRPCInvalidRequest,ID,transactionproperty));
-    AClassName:=D.AsString;
-    If (AClassName='') and (jdoRequireClass in options)  then
-      Exit(CreateJSON2Error(SErrNoClassName,[ClassNameProperty],EJSONRPCInvalidRequest,ID,transactionproperty));
+      Exit(CreateJSON2Error(SErrNoClassName,[ClassNameProperty],EJSONRPCInvalidRequest,ID,transactionproperty))
+    else
+      D:=Nil;  
+    if Assigned(D) then
+     begin  
+      // Check if it is a string
+      if Not (D is TJSONString) then
+        Exit(CreateJSON2Error(SErrInvalidClassNameType,[ClassNameProperty],EJSONRPCInvalidRequest,ID,transactionproperty));
+      AClassName:=D.AsString;
+      If (AClassName='') and (jdoRequireClass in options)  then
+        Exit(CreateJSON2Error(SErrNoClassName,[ClassNameProperty],EJSONRPCInvalidRequest,ID,transactionproperty));
+      end;  
     end;
   // Get params, if they exist
   I:=O.IndexOfName(ParamsProperty);