-
Content Count
174 -
Joined
-
Last visited
-
Days Won
4
Everything posted by Dmitry Arefiev
-
TRESTClient Exception: REST request failed: Error sending data: (12175) A security error occurred
Dmitry Arefiev replied to MikeMon's topic in Network, Cloud and Web
1) If server is publicly accessible, please, log this issue to quality.embarcadero.com and attach simple test project. If there is some sensitive information, which you dont want to share publicly, then let me know. We can exchange it privately. 2) Otherwise, you can try to analyze the server using https://www.ssllabs.com/ssltest/ This may give some hints. -
TRESTClient Exception: REST request failed: Error sending data: (12175) A security error occurred
Dmitry Arefiev replied to MikeMon's topic in Network, Cloud and Web
Try to leave only TLS v 1.1 and 1.2 in SecurityProtocols. -
SOAP cookie with Expires=Fri, 31-dec-9999 23:59 causes EConvertError - Invalid argument to date encode
Dmitry Arefiev replied to Anders Melander's topic in Network, Cloud and Web
Please report this issue to quality.embarcadero.com, and get it fixed in 10.4 Update 1. -
Start from this link: https://dev.mysql.com/downloads/c-api/
-
Delphi 10.4: System.Net.HttpClient.Linux.pas crash on Ubuntu 18.4
Dmitry Arefiev replied to Harry Stahl's topic in Cross-platform
This will be fixed in 10.4 Update 1. -
Delphi 10.4: System.Net.HttpClient.Linux.pas crash on Ubuntu 18.4
Dmitry Arefiev replied to Harry Stahl's topic in Cross-platform
https://quality.embarcadero.com/browse/RSP-28886 try to run: sudo apt-get install curl -
Revisiting TThreadedQueue and TMonitor
Dmitry Arefiev replied to pyscripter's topic in RTL and Delphi Object Pascal
Thanks a lot ! The proposed here changes will be in 10.4 Update 1 with some modifications. Mostly due to new cross-platform AtomicCmpExchange128 for 64bit platforms. -
System.Net.Socket: TSocket.Accept not behaving correctly in Linux ?
Dmitry Arefiev replied to optimax's topic in Cross-platform
This is known issue: https://quality.embarcadero.com/browse/RSP-19708 -
1. libmysql.dll must be in EXE folder, or in some folder which is in PATH, or in SysWOW64 for x86 and System for x64. 2. libmysql.dll must have the same bitness as EXE. Simple way to verify it: tdump libmysql.dll | find "CPU type" 3. libmysql.dll v 8 is not yet supported. Use version 5 or 6. Which one - almost not important. 4. Note, that libmysql.dll, depending on version, depends on MS C RTL.
-
TFDUpdateSQL, Stored Procedure - Setting field value from output variable
Dmitry Arefiev replied to Kyle Miller's topic in Databases
You can try to do: FDUpdateSQL1.Commands[arInsert].CommandKind := skSelect; -
Could you please provide RSP numbers. May be even you can provide your patch.
-
FDMetaInfoQuery1.MetaInfoKind := mkResultSetFields; FDMetaInfoQuery1.ObjectName := 'RESOURCE'; FDMetaInfoQuery1.Open;
-
Beside what @Vandrovnik said, Delphi with each one new version is getting more and more "green" (in the sense of Greenpeace, or energy class). What in past consumed N CPU cycles, now may consume less or much less. Want to make the World more green ? Upgrade your Delphi 🙂 PS: Of course, this is questionable statement. But it is true in many Delphi areas ...
-
For SQL Server the AName parameter usage is not specified.
-
FireDAC / SQL Server "Connection is busy with results for another hstmt"
Dmitry Arefiev replied to Nathan Wild's topic in Databases
This is because ODBC 17 is unknown version for FireDAC. -
For unlimited number of items for "IN" clause, may be possible to use SQL Server Table Valued Parameter. For details see "Object Pascal\Database\FireDAC\Samples\DBMS Specific\MSSQL\TVP" demo. PS: I am not tested that ...
-
TFDBatchMoveSQLWriter and table structure updates
Dmitry Arefiev replied to Stéphane Wierzbicki's topic in Databases
TFDBatchMoveSQLWriter cannot alter table structure, it can only create a new table. -
THTTPReqResp.OnBeforePost breaking change
Dmitry Arefiev replied to A.M. Hoornweg's topic in Network, Cloud and Web
@A.M. Hoornweg, did you checked THttpClient API ? accept gzip encoded data: set THttpClient.AutomaticDecompression to [THTTPCompressionMethod.GZip] accept an invalid/self-signed SSL certificate: set THttpClient.OnValidateServerCertificate to event handler which optionally can analyze Certificate and set Accepted to True / False -
[FireDAC][Phys][SQLite]-326. Cannot perform the action, because the previous action is in progress.
Dmitry Arefiev replied to Edson.pol's topic in Databases
@Edson.pol, could you please provide a test application, reproducing the issue. Also, do you have any non default settings in FetchOptions or ResourceOptions ? -
Leave it amBlocking.
-
1) DB admin features - PostgreSQL 2) DB developer features - PostgreSQL / FireBird 3) Encryption, and ... speed - InterBase. On many tests IB outperforms FB, at least. 4) Mobile platforms - InterBase 5) Change Views is unique InterBase feature If to put SQLite into this list, then if you does not need multi-user access, scalability, DB is relatively small, then SQLite is the right way. If something from this list is not true, or may become false in future, then not SQLite. In order of descending preferences - SQLite, IbToGo / Firebird embedded, PostgreSQL
-
This may be coded in a more short form using 10.3.2. First case: var JsonValue: TJSONValue; Branch: string; begin JsonValue := TJSONObject.ParseJSONValue(st, False, True); try Branch := JsonValue.GetValue<string>('data.conditions[0].temp'); memo1.Lines.add('Parsed temperature '+branch); Branch := JsonValue.GetValue<string>('data.conditions[2].bar_sea_level'); memo1.Lines.add('Parsed barometer '+branch); finally JsonValue.Free; end; end; Second case: var JsonValue: TJSONValue; Branch: string; begin JsonValue := TJSONObject.ParseJSONValue(st, False, True); try Branch := JsonValue.GetValue<string>('iWN5p2qfRFeGKXn1m3iGnDW0Vkl2.PROFILE.BIRTHDAY'); memo1.Lines.Add('Parsed BIRTHDAY ' + Branch); Branch := JsonValue.GetValue<string>('iWN5p2qfRFeGKXn1m3iGnDW0Vkl2.PROFILE.FULL NAME'); memo1.Lines.Add('Parsed FULL NAME ' + Branch); finally JsonValue.Free; end; end; This is most simple code. Although not fastest, but may be enough fast. Depending on the requirements it may be optimized.
-
No, because they are rather "features", than bugs, introduced from library beginning. "Fixing" them will break backward compatibility.
-
Firedac and simultaneous connection to different version of Firebird
Dmitry Arefiev replied to Jacek Laskowski's topic in Databases
More to read: http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Configuring_Drivers_(FireDAC) -
There are two options: 1) Modify your code. In EventAlert use: TThread.Queue(nil, procedure begin Caption := AEventName + ' ' + DateTimeToStr(Now); end); And in FormCreate set: FEvents.Options.Synchronize := False; 2) Modify FireDAC sources. For that in FireDAC.Phys.pas change method: function TFDPhysEventMessage.Perform(AThread: TFDThread): Boolean; begin FMsgThread := AThread as TFDPhysEventThread; if FMsgThread.Active then begin if FMsgThread.FAlerter.GetOptions.Synchronize then TFDThread.Queue(nil, BasePerform) else BasePerform; end; Result := True; end;