Jump to content

iddqd345

Members
  • Content Count

    6
  • Joined

  • Last visited

Community Reputation

0 Neutral
  1. Hi, I need to send the following line in the request: S := 'aaa'+#29+'bbb' If I do this soNode.AsArray.s[0] := S; HttpRest.RestParams.AdditemSO('codes',soNode); then it is sent as 'aaa~bbb' If I escape myself: S := 'aaa\u001dbbb'; then the result: 'aaa\\u001dbbb' This is a strange result. Why does this happen? In TRestParams.AddItemSO, escaping when getting from ISuperObject is disabled: Items[Index].PValue := aValue.AsJson(false,false) { no indent, no escape } At the same time, in RestRequest: EncParams := AnsiString(IcsStrRemCntlsA(EncParams)); where "Source^ < IcsSpace" replaced with '~'. Yes, I found a solution: HttpRest.RestParams.AddItem('codes', soNode.AsJSon(False,true),True); but it doesn't look very logical when using SuperObject I don't understand the logic of not full escaping when using AddItemSO. In this case, when escape=False, in TSuperObject.Write DoMinimalEscape is executed instead of DoEscape, which escapes '\', but does not escape char < #32 Perhaps this is a mistake?
  2. It seems that I have found the reason for the slow startup - with {$DEFINE OpenSSL_Check_Signed} commented out, the program starts quickly. Probably, these computers have something wrong with the Magenta Systems Ltd. certificate chain. This is a local problem, and there is no need to rush to solve it. This solution with {$DEFINE OpenSSL_Check_Signed} suits me at the moment. Thanks for your help.
  3. Yes, it is, but it is worth a try. Win 2008 is still in use. And if I have to choose between reinstalling Windows and trying to solve the problem in the program, I will try the second option first.
  4. Yes, I tried that. Dont work. But I commented out {$DEFINE OpenSSL_AutoLoad_CA_Bundle}, and the program started to launch quickly. But now the first call to tsslHttpRest takes a long time. It turns out that the problem is in loading certificates. I'll think about it..
  5. Upd: When I commented out "{$DEFINE OpenSSL_Resource_Files}" - the program started to start up quickly, because it can't find the DLL and writes an error in the log. When I also commented out "{$DEFINE OpenSSL_ProgramData}" and put three OpenSSL DLLs into the program directory, the program started to run slowly again. Probably, I don't understand something
  6. The program with tsslHttpRest (ICS 9.3) starts up slowly, 30-40 seconds on some Windows 2008 under a user who is not an administrator. At the same time, it starts up normally under the administrator. If I give administrator rights to another user, it still starts up slowly under this user. This does not happen on all computers with Windows 2008, there are some on which it starts up quickly under any user. I tried to compare the installed system updates, service pack - everything is the same. I used Procmon.exe from Sysinternals to log the program startup. When comparing the logs, it is clear that during a long startup there are many requests to the system registry, which are not there if the program starts up quickly. When I commented out "{$DEFINE OpenSSL_Resource_Files}" - the program started to start up quickly. This is how I solved the problem for myself - I will download SSL files separately. I am attaching the Procmon logs of a quick and long startup of the program. I compared these files using the CompareIt! program. Admin.CSV User.CSV
×