|
@@ -356,6 +356,7 @@ Type
|
|
TCustomJSONRPCHandlerManager = Class(TComponent)
|
|
TCustomJSONRPCHandlerManager = Class(TComponent)
|
|
Private
|
|
Private
|
|
FRegistering: Boolean;
|
|
FRegistering: Boolean;
|
|
|
|
+ FHandlerCount : Int64;
|
|
Protected
|
|
Protected
|
|
procedure Initialize; virtual;
|
|
procedure Initialize; virtual;
|
|
procedure DoClear; virtual;
|
|
procedure DoClear; virtual;
|
|
@@ -1542,7 +1543,7 @@ begin
|
|
If Assigned(FDataModuleClass) then
|
|
If Assigned(FDataModuleClass) then
|
|
begin
|
|
begin
|
|
{$ifdef wmdebug}SendDebug(Format('Creating datamodule from class %d ',[Ord(Assigned(FDataModuleClass))]));{$endif}
|
|
{$ifdef wmdebug}SendDebug(Format('Creating datamodule from class %d ',[Ord(Assigned(FDataModuleClass))]));{$endif}
|
|
- DM:=FDataModuleClass.Create(AOwner);
|
|
|
|
|
|
+ DM:=FDataModuleClass.Create(Nil);
|
|
{$ifdef wmdebug}SendDebug(Format('Created datamodule from class %s ',[DM.ClassName]));{$endif}
|
|
{$ifdef wmdebug}SendDebug(Format('Created datamodule from class %s ',[DM.ClassName]));{$endif}
|
|
I:=0;
|
|
I:=0;
|
|
While (Result=Nil) and (I<DM.ComponentCount) do
|
|
While (Result=Nil) and (I<DM.ComponentCount) do
|
|
@@ -1559,7 +1560,7 @@ begin
|
|
end;
|
|
end;
|
|
end
|
|
end
|
|
else
|
|
else
|
|
- DM:=TDataModule.CreateNew(AOwner,0);
|
|
|
|
|
|
+ DM:=TDataModule.CreateNew(Nil,0);
|
|
AContainer:=DM;
|
|
AContainer:=DM;
|
|
If (Result=Nil) then
|
|
If (Result=Nil) then
|
|
begin
|
|
begin
|
|
@@ -1796,6 +1797,7 @@ Function TCustomJSONRPCHandlerManager.GetHandler(
|
|
): TCustomJSONRPCHandler;
|
|
): TCustomJSONRPCHandler;
|
|
|
|
|
|
Var
|
|
Var
|
|
|
|
+ N : String;
|
|
O : TComponent;
|
|
O : TComponent;
|
|
|
|
|
|
begin
|
|
begin
|
|
@@ -1803,7 +1805,13 @@ begin
|
|
O:=Self
|
|
O:=Self
|
|
else
|
|
else
|
|
O:=AOwner;
|
|
O:=AOwner;
|
|
- Result:=ADef.CreateInstance(O,AContainer);
|
|
|
|
|
|
+ Result:=ADef.CreateInstance(Nil,AContainer);
|
|
|
|
+ N:=aContainer.Name;
|
|
|
|
+ if N='' then
|
|
|
|
+ N:=aContainer.ClassName;
|
|
|
|
+ N:=N+IntToStr(InterlockedIncrement64(FHandlerCount));
|
|
|
|
+ aContainer.Name:=N;
|
|
|
|
+ O.InsertComponent(aContainer);
|
|
end;
|
|
end;
|
|
|
|
|
|
Function TCustomJSONRPCHandlerManager.GetHandler(Const AClassName,
|
|
Function TCustomJSONRPCHandlerManager.GetHandler(Const AClassName,
|