-
Content Count
2162 -
Joined
-
Last visited
-
Days Won
40
Angus Robertson last won the day on September 20
Angus Robertson had the most liked content!
Community Reputation
690 ExcellentAbout Angus Robertson
- Birthday December 16
Technical Information
-
Delphi-Version
Delphi 11 Alexandria
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
Greying out suppressed code is working as expected in D13 for the ICS component library. ICS has a lot of defines and optional code, greying is a very useful feature. Angus
-
I get solid 30ms pings, but still the server sometimes fails to respond, just overloaded in some way, probably by AIs trying to access many years of old messages for the massive wealth of information collected here over the years. Angus
-
Main thread for getting 9.5 to work in C++ Builder 13.0
Angus Robertson replied to w0wbagger's topic in ICS - Internet Component Suite
The ICS C++ Common package seems to have a unit OverbyteIcsCryptuiApi, try removing it from the package and see if your application stops complaining about crypt32.lib? That unit is to display Microsoft crypto dialogs and I don't believe is now used in any ICS samples. It's code should not compile due to DEFINEs, but who knows. Angus -
ICS V9.5 announced
Angus Robertson replied to Angus Robertson's topic in ICS - Internet Component Suite
SVN and the overnight zip have been updated with another refresh of ICS V9.5, including four new OpenSSL versions. OpenSSL has issued a new minor release 3.6.0 as part of it's twice yearly release strategy, which adds several private key improvements and Leighton-Micali Signature (LMS) verification support which is a FIPS requirement. This version will be supported until October 2027. OpenSSL 3.6.0 becomes the default version with V9.5, provided you use the latest OverbyteIcsDefs.inc file. OpenSSL has also issued security fixes for all its free supported and paid support versions, so the new versions included with ICS and on the downloads page are 3.5.4, 3.4.3 and 3.0.18. OpenSSL 3.3 and 3.2 are no longer updated for ICS since their support is ceasing, and we have too many versions. Finally content that automatic certificate ordering is behaving as designed and re-ordering certificates before they expire, not easy to test when most don't expire for 90 days. The ICS Web, FTP and proxy server samples have now all ordered new certificates. The distribution version is not yet changed, still documenting the automatic certificate ordering stuff. Angus -
ISuperObject decimal issue with currency values
Angus Robertson replied to Davide Angeli's topic in Delphi Third-Party
That's convenient, never used it myself... I did fix a problem with floats variously using . and , which is a no-no in Json. Angus -
ISuperObject decimal issue with currency values
Angus Robertson replied to Davide Angeli's topic in Delphi Third-Party
The ICS component library includes a fork of SuperObject, with various bug features and new features, including returning parsing errors and support for Delphi TDateTime, saved as an ISO 8601/RFC3339 string: obj.AsDateTime, obj.AsObject.DT['foo'] https://svn.overbyte.be/svn/icsv9/Source/OverbyteIcsSuperObject.pas I could add a currency type if useful. . Angus -
NameOf() in D13 to get the name of the current method
Angus Robertson replied to emileverh's topic in RTL and Delphi Object Pascal
I used to use Pred and Succ, mainly because early Intel 8080 compilers mapped those to simple assembly instructions, rather than using arithmetic. But compilers got better. Angus -
Can I use TsslWebSocketCli in a thread?
Angus Robertson replied to GG2023's topic in ICS - Internet Component Suite
You have not explained your environment, but assuming this is a Windows Service, you should have the message loop in the ServiceExecute event: procedure TIcsTcpServce.ServiceExecute(Sender: TService); begin while not Terminated do ServiceThread.ProcessRequests(TRUE); end; So there is only one thread for the main unit, just like most GUIs. Angus -
Can I use TsslWebSocketCli in a thread?
Angus Robertson replied to GG2023's topic in ICS - Internet Component Suite
ICS components are widely used in Windows Services, less often in threads, really two different questions. For Windows Services, a VCL service project with SvcMgr gives you a form onto which to drop your components, and provides a message pump so they work just as if it is a GUI. ICS has a sample IcsAppMon;,dpr which has a WebSocket server component running as a Windows Service, although it uses the DDSvcMgr version ofSvcMgr which allows the application to be run as both a GUI or installed as a Windows Service, makes development and debugging much easier. Using the WebSocket Client would be no different, that is used in the sample IcsAppMonMan which talks to the server, but is only a GUI since it talks to multiple servers. Not sure why, but we don't seem to currently have any simple Windows Service samples, guess I need to add one for the next release. Angus -
Main thread for getting 9.5 to work in C++ Builder 13.0
Angus Robertson replied to w0wbagger's topic in ICS - Internet Component Suite
And yet the Delphi Win64 compiler manages to open crypt32.lib using the usual Windows magic where Win64 DLL are in the System32 directory... Perhaps there is a crypt32.lib reference I've missed or a HPPEMIT that ignores other defines. I'll have a look tomorrow. Angus -
Main thread for getting 9.5 to work in C++ Builder 13.0
Angus Robertson replied to w0wbagger's topic in ICS - Internet Component Suite
I'm confused here, why does your application need Crypt32.lib? What APIs is it using. As I said earlier, ICS does not use it and the Win64 packages now build OK on C++. Angus -
Main thread for getting 9.5 to work in C++ Builder 13.0
Angus Robertson replied to w0wbagger's topic in ICS - Internet Component Suite
Provided you undefine MSCRYPT, which should happen automatically in defs.inc for BCB, ICS will ignore a lot of Windows crypto stuff that caused C++ problems in the past. It means components to access the Windows Certificate Store are not available for C++. Would be nice to fix those errors at some point. Angus -
Main thread for getting 9.5 to work in C++ Builder 13.0
Angus Robertson replied to w0wbagger's topic in ICS - Internet Component Suite
I've updated SVN with the changes needed so that ICS can be built with C++ for Win32 and Win64, will be zipped overnight. One package builds OK for Win64x, but the other two packages dependent upon it fail with undefined symbol errors, which I believe is a long term Win64x linker problem, no quick fix. I'll look at a second V9.,5 refresh in a few days, once I've finished documentation that missed this release. OpenSSL has security fixes next week as well. Angus -
Main thread for getting 9.5 to work in C++ Builder 13.0
Angus Robertson replied to w0wbagger's topic in ICS - Internet Component Suite
Excellent debugging, I'll make those changes and try Win64 again. On reflection, I see a pattern with the 'units were found in required package' error. It seems C++ can not build packages if any similar packages are installed in the IDE. I guess most other developers build their C++ packages using command line tools, not in the IDE, so don't see the problem. I saw the error with the Delphi package because it had been installed earlier and removed, but was still in memory until an IDE restart. C++ Win32 then works, but not Win64 if Win32 has been installed into the IDE. With Delphi, you don't get a Win64 error if Win32 is installed. Angus -
Main thread for getting 9.5 to work in C++ Builder 13.0
Angus Robertson replied to w0wbagger's topic in ICS - Internet Component Suite
I was getting warnings building C++ IcsCommonCBNewRun that units were found in IcsCommonNewRun which is the Delphi package, and is not referred anywhere in C++, but they went away when I specified the Windows SDK, which I don't recall every doing before in RAD Studio. If you are not using Win64, just ignore the packages. I rarely test with Win32 now, all my servers and some GUIs are Win64, a couple use old components and need Win32. Are you using the old or new packages? Are changes still needed per your root message. Angus