Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 01/13/23 in all areas

  1. dummzeuch

    "Always break line between else and if" vs. comments

    No, that's not the case. But the Unit Tests don't use the DLL, so you can create test cases for the unit tests and then implement the code directly using that program.
  2. Angus Robertson

    ICS V8.70 announced

    ICS V8.70 has been released at: http://wiki.overbyte.eu/wiki/index.php/ICS_Download ICS is a free internet component library for Delphi 7, 2006 to 2010, XE to XE8, 10 Seattle, 10.1 Berlin, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney and 11.0 and C++ Builder 2006 to XE3, 10.2 Tokyo, 10.3 Rio, 10.4 Sydney and 11. ICS supports VCL and FMX, Win32, Win64 and MacOS 32-bit targets. The distribution zip includes the latest OpenSSL 3.0.7 win32, with other versions of OpenSSL being available from the download page. Major Changes in ICS V8.70 include: 1 - V8.70 has various minor improvements providing better compatibility with modern compilers such as more unicode overloads to avoid ANSI string warnings and casts, and more use of TBytes to avoid ANSI strings. Updated various samples to use TIcsRestEmail to support OAuth2 authentication for GMail and Outlook that no longer allow old authentication protocols. 2 - The TIcsFileCopy, TIcsFtpMulti and TIcsHttpMulti file transfer components now support file zipping and unzipping using System.Zip in recent Delphi compilers, instead of the obsolete VclZip which is no longer available. Before a file copy or FTP upload, files may be automatically zipped, useful for large log files, after a file copy, FTP or HTTP download, files may be unzipped in various ways. 3 - Added support to TIcsFileCopy to copy file names longer than 259 characters by adding \\?\ to the start of long names passed to Windows APIs, if supported by the disk file system, unicode APIs only. Fixed a problem deleting empty directories after copying. Fixed a problem with BuildDirList2 with COMPILER16_UP. 4 - The OverbyteIcsXferTst sample has a new tabs, 'Single File Copy' to test the CopyOneFile method and 'Zip/Unzipping Files' to test zipping and unzipping that has always been supported by the components but not this demo. 5 - Allow content compression for HTTP and FTP using System.Zlib in newer versions of Delphi instead of the OverbyteIcsZLibObj unit to avoid duplication. Only Delphi 11.1 and later have the same ZLIB 1.2.12 as ICS, so will automatically used System.Zip. Beware a new version of OverbyteIcsDefs.inc is required to allow ZLIB to work correctly, otherwise it will default to using the DLL which is unlikely to be available, it is not in the distribution. So either install the new inc file and customise it, or copy the ZLIB changes to your own inc file. 6 - In TWsocket, added ReceiveTB(var Data : TBytes; MaxLen : Integer = -1): Integer; where MaxLen is optional, to receive TCP data into a TBytes dynamic array of bytes. Also ReceiveFromTB and ReceiveFrom6TB for UDP datagrams. The last release added similar SendTB functions, so buffer pointers and ANSI strings can now be avoided. 7 - Added UTF-8 support to TIcsIpStrmLog, to convert received lines from UTF-8 to Unicode with unicode compilers (as String) and converts sent data to UTF-8. Changed FRxBuffer to TBytes, use SendTB and ReceiveTB methods with TBytes. 8 - Updated OpenSSL to 3.0.7 and 1.1.1s. OpenSSL 3.0.6 was withdrawn shortly after release, we never distributed it. 9 - In OverbyteIcsSslHttpOAuth, added an OAuth2 and Rest Email Microsoft User Authority property to access different user authorities, defaults to 'consumers' but can be changed to 'common' or an Azure Active Directory tenant GUID for corporate accounts. 10 - Added TIcsRestEmail to support OAuth2 authentication to the OverbyteIcsSslMultiWebServ, OverbyteIcsSslMultiFtpServ and OverbyteIcsDDWebService samples, since GMail and Outlook that no longer allow old authentication protocols. 11 - In the TIcsInetAlive component, added a new method AliveMethEither so internet alive checking works if either ping or HTTP works, instead of one or the other. More detailed release notes are at http://wiki.overbyte.eu/wiki/index.php/ICS_V8.70 Angus
  3. Brandon Staggs

    Delphi 11.2 unofficial LSP patch

    Saw this blog post today: https://www.ideasawakened.com/post/unofficial-delphi-lsp-fix-for-11-2-is-now-available I grabbed the updated DLLs and LSP exe from the links and sure enough it seems to be working much better now. The files are dated Jan 10 so I suppose these are part of the current beta as well. No NDA issues here since Embarcadero posted the files right into the issue tracker and is asking for feedback in the RSP. https://quality.embarcadero.com/browse/RSP-39812
  4. Brandon Staggs

    Does ChatAI make StackOverflow obsolete ?

    I can see using it to get started in a direction, I guess, but my initial tests with it soured me on trusting it. I asked it to describe various things that are non-trivial but I know a lot about, and every single time, it included false information on those topics. For example, I asked it about my own software, and it listed compatibility with operating systems that are expressly not supported. I asked it to summarize the events of a Star Trek episodes and it got lots of details breathtakingly wrong. If I can ask it questions I already know the answer to, and it gives me wrong results, how am I going to trust it to help me on things I don't know?
  5. David Champion

    MAP2PDB - Profiling with VTune

    @Anders Melander I am using Code Commit for my latest project, during lock down I needed to swap out the On Premise version of BitBucket. It has the feature of locating the service at a particular data center and encrypting the source code at rest. It's worth a look if you haven't already. Then again I don't know what you are looking for.
  6. Angus Robertson

    ICS V8.70 announced

    As I said, SSL/TLS is always selectable for each connection, that will never change, except when QUIC becomes an alternative. TSslWSocketServer is a relatively simple component, but descends through eight different classes with 24 USE_SSL defines, all of which makes improvements difficult, the new version will be much simpler. The SChannel wrapper for ICS is an interesting project, but YuOpenSSL allows ICS to be used without external DLLs, and SChannel is different with every operating system, fine if you only want to support the latest and greatest, useless if you want applications to continue to run on Windows 7 or 8 where each time Windows Update is run, half the ciphers disappear so causing ECDSA key certificates to be ignored, for instance. Angus
  7. Fr0sT.Brutal

    "Always break line between else and if" vs. comments

    Ouch. Different indents look crazy.
  8. weirdo12

    Mysql connection problem

    Why are you using dbExpress? Is it an existing application that worked properly with another version of C++Builder?
  9. omnibrain

    ICS V8.70 announced

    I would really like to continue to be able to use webservers without SSL/TLS for several reasons: In a more complex setup ssl gets offloaded from the application servers to load balancers, reverse proxies or web application gateways modern reverse proxies like caddy are ridiculously easy to use and just work with ACME certificates (or self signed) with almost zero config, it's not even funny it's usually easier to update a reverse proxy/load balancer or WAG for new openSSL versions than the applications itself webservers embedded into the application, bound only to localhost, don't need ssl/tls (for internal APIs) it's easier during development if you don't have to wrangle self signed certs and browser errors But I don't care if the ssl/tls code get's compiled into the program or not. I just want to be able to use a server without SSL/TLS.
  10. weirdo12

    FireDAC + TableNames with '$'

    Done. https://quality.embarcadero.com/browse/RSP-40382
  11. Bounceback

    "Always break line between else and if" vs. comments

    Quite seriously, IMHO, this is something that you have to figure as you go, from case to case that is. Som variable names/expressions are SuperLoooooong.Chains.Of() and some are shrt. That is definitely IMHO something that should be factored in - so just look at the code (preferrably some months after you wrote it - maybe not so manageable, but anyho) and use the style that appears most clear.
  12. That parsing JSON info looks really interesting. The lib needs a Delphi interface.
  13. Arnaud Bouchez

    ANN: mORMot 2 Release Candidate

    The mORMot 2 framework is about to be released as its first 2.0 stable version. I am currently working on preliminary documentation. Some first shot here https://synopse.info/files/doc/mORMot2.html The framework feature set should now be considered as sealed for this release. There is no issue reported opened at https://github.com/synopse/mORMot2/issues or in the forum. Please test it, and give here some feedback to fix any problem before the actual release! We enter a framework code-freeze phase until then. The forum thread for reporting issues and comment is https://synopse.info/forum/viewtopic.php?id=6442 The related blog article is https://blog.synopse.info/?post/2023/01/10/mORMot-2-Release-Candidate
  14. Stefan Glienke

    TestInsight 1.2 released

    The fact that I mention a version number when resolving an issue does not imply that this version is already publicly available - in the future, I will use the words "will be fixed" to refer to a not yet released version. During my vacation, I stayed away from anything programming plus I got new hardware both at home and in the office and neither has all Delphi versions installed yet which are required to create a new setup.
  15. A profile in GitHub created 11, forum account 10 hours ago (1 post, no rating). Only a RAR file is uploaded, based on the screenshots containing binaries. Contact info is a free Yahoo E-mail address, installations are blocked by AV and there's no real description of what FPDelphi is. Online searches show fuel pump related stuff. I really mean no offence and it can be me living under the rocks, but for someone who has no prior knowledge this is way too suspicious to check out.
  16. Tom Chamberlain

    FireDAC performances

    Do not forget to check the indexes on the M$/SQL server tables; missing indexes or where's and join's on fields without indexes are also performance killers. If you have blob/varchar(max) fields, never do a Select * From. If you have any tables with millions of records and lots of indexes rebuilding the indexes could help a little but that can take time, best done in off-hours. You may also want to look at the database Properties -> Options -> Legacy Cardinality Estimation value, if it is ON try turning it OFF and see if that makes any difference. (in test of course)
  17. Anders Melander

    FireDAC performances

    Ditto. And ditto on your options. Before trying to solve this problem you should determine where your bottleneck is instead of guessing. Is it the DB server, the network, the middleware (FireDAC), or your own code? Examine the CPU, network usage, and DB server (using the activity monitor) during execution. Who's waiting on what? Profile your application or, if you don't know how to do that, just repeatedly pause your application in the debugger and examine the call stack. Chances are that the bottleneck will be somewhere in the call stack. It's a poor man's sampling profiler.
×