Jump to content

Angus Robertson

Members
  • Content Count

    1812
  • Joined

  • Last visited

  • Days Won

    33

Everything posted by Angus Robertson

  1. Angus Robertson

    TSslHttpRest with multipart/form-data

    While ICS has MIME decoding units, the only multipart/form-data encoding is in the OverbyteIcsHttpPost1 sample you've found. I think you need to set DebugLevel to DebugBody and makes sure your POST content is logged to see what the component is actually sending to the server. Angus
  2. Angus Robertson

    Invalid Compiler Directive: 'MESSAGES'

    SVN is up to date with my changes yesterday, but won't be doing any more until middle of next week. I did try changing the platform to Win32 but still got the Options error, not having MacOS PAServer might be a problem. Angus
  3. Sorry, currently TRestParams does not create boolean or numeric parameters, you'll need to construct the Json manually or with SuperObject. Angus
  4. Angus Robertson

    Invalid Compiler Directive: 'MESSAGES'

    If you have seen the more recent topic on Linux here, I've managed to get a Linux VM running so can now build packages for Linux 64 bit. which is closer to MacOS than Windows. Making some changes today, I've managed to build the IcsCommonD104Run package for Linux, including OverbyteIcsTicks64. But am now stuck building IcsFmxD104 for Linux, with 'Required package 'fmx' not found'. Attempting to check paths in Project Options quickly gets 'invalid value for CFBundleVersion' which seems to relate to Apple platforms which I'm not building, nor can I set MacOS version information. I was wondering about those missing Ics.Fmx prefixes, but all this MacOS stuff was written by another developer who is no longer with us, so can not ask. I assume it all worked many years when he tested it, but we are now many Delphi versions later and it seems we do need to change all those uses names. Angus
  5. Angus Robertson

    Twsocket Tcp Client miss some packets

    If you look at any ICS components or samples that receive data, you see that you need to loop within the event to receive data with that function, you may get six bytes first time, 29K next time, loop until nothing more is returned. If you receive a string, it may be a partial line, so you need to buffer it until the a full line is available. ICS also has line mode that makes sure you receive full lines, but you may lose data if the last line does include CRLF. Also, you can not read UTF8 data reliably like this, because you may get a partial character with the first read. You need to wait until you have a line, then convert from ANSI to Unicode. If you used the OverbyteIcsIpStmLogTst.dpr sample I suggested, none of this would be an issue, it's all done for you. Angus
  6. Angus Robertson

    ICS for Linux?

    Sure it's fine once you get a terminal window to install new components, but my problem was not getting past the login screen with an xorg session that needs RDP, and other methods like console and xvnc not working because they were not installed by default. Angus
  7. Angus Robertson

    ICS for Linux?

    If the latest RTL implements GetTickCount on all supported platforms, and hopefully new ones, why would an alternative be better? Not sure which Delphi version implemented it, but MacOS-32 seems to be out of support now so ICS really only needs to support Posix/Mac for 10.3.2 and later. Angus
  8. Angus Robertson

    ICS for Linux?

    The simple fix for tms/times is to replace the line with something more modern: Result := System.Classes.TThread.GetTickCount; Angus
  9. Angus Robertson

    ICS for Linux?

    As I understand it. RDP is how Hyper-V displays the VM window, no different to using RDP separately, the VMs the Quick Create don't support any other means of access, no open ports for a terminal or anything. Angus
  10. Angus Robertson

    ICS for Linux?

    The overloaded functions error is almost certainly down to our using variously RawByteString, UnicodeString, AnsiString, PWideChar and UTF8String for overloaded functions, and maybe more, two of which may be the same in the Linux compiler, but I've really not looked yet. Angus
  11. Angus Robertson

    ICS for Linux?

    I'm on Windows 10 Enterprise 2004 64-bit 10.0.19041 so more recent. The blog that mentions the problem is 18 months old, so maybe some other issue. Anyway, Ubuntu 20.04 seems to be working OK for my purposes, building the ICS common package gives 57 errors in the Utils unit, so now need to go looking more closely at what string types the Linux compiler supports and why it does not like UTF8, but won't be this week, need to finish other stuff before starting this migration project. Angus
  12. Angus Robertson

    ICS for Linux?

    PAServer is finally running after adding a second virtual network adapter for the default switch, which means PAServer now has two IP addresses 192.168.1.137 and 172.23.99.102 and I can connect to the second one. Something strange about Hyper-V on Windows 10., I've had VMs running on Windows Server for 12 years with external public access with public and LAN IPs, and never needed to add a second network adaptor. Delphi is currently transferring a lot of stuff somewhere, so not managed to build a package yet. Thanks again for pointing me in the right direction. Angus
  13. Angus Robertson

    ICS for Linux?

    That is exactly what I installed on Monday, are you also using Windows 10 2004 or earlier? Angus
  14. Angus Robertson

    ICS for Linux?

    Thanks, will read your blog. When starting the UBUNTU 18 VM, I get an error window saying: connecting to sesman ip 127.0.0.1 port 3350 sesman connect ok sending login login successful started connecting connection problem, giving up some problem which a little searching indicates is a known problem - Issues with xRDP and Ubuntu 18.04.2 – How to fix it https://c-nergy.be/blog/?p=13390 but without xRDP you can not follow the instructions. Angus
  15. Angus Robertson

    ICS for Linux?

    That is the IP range of the internal adaptor, I have 192.168.1.137 on the same subnet as my LAN with the external adapter. I'll try adding a second Hyper-V internal adaptor. I'm aware UBUNTU 20 is not officially supported by Delphi, but UBUNTU 18 does not install properly with the Hyper-V Quick Create image. Thanks for trying. Angus
  16. Angus Robertson

    ICS for Linux?

    The Hyper-V adaptor status shows the same IPv4 address as the VM. There is probably some obscure Powershell network command needed to allow incoming TCP access, but I've not found it after a lot of searching. Angus
  17. Angus Robertson

    ICS for Linux?

    Using a different virtual environment means starting again, which will not happen soon. The Windows 10 VM will not run under 2018 due to different disks and NIC, so that is start again as well. I have better things on which to spend my time. Angus
  18. Angus Robertson

    ICS for Linux?

    Yes, it seems that my Windows 10 Hyper-V virtual Ethernet adapter only allows outgoing TCP connections, and blocks incoming, to all my VMs. Don;t often open servers in VMs. I'm going to try moving the Linux VM to a Windows 2018 server. Angus
  19. Angus Robertson

    Twsocket Tcp Client miss some packets

    A properly written ICS application will never lose any data with TCP. Try receiving the data with the OverbyteIcsIpStmLogTst.dpr sample, Angus
  20. Angus Robertson

    Cache mode - Debug

    Thanks, changed the literal, the PeerX change has already been done in V8.65. Angus
  21. I brought the ICS TWSocketServer component page up to date, and the TWSocketServer.IcsHosts properties page, since those two components are the basis of all the servers, and I extended the capability a lot so you don't need TSslContext which is probably the component you want documented. And I'm slowly adding new components that don't need TSslContext either, already done HTTP, FTP and SMTP, to make SSL easier to use. I used Document Insight to create a 20MB CHM file, it has various other formats, But it really needs a large amount of XML added to the source files to be useful, which is many weeks or months of work. The file is on the wiki site but I'm not publishing the URL here since it's not useful in it's present form. Angus
  22. The ICS FAQ pages already have a lot of SSL/TLS documentation for major subjects, and some of the server components have almost up to data documentation for properties and methods. But proper documentation takes weeks and no-one will pay for it, so I spend more time writing new components. http://wiki.overbyte.eu/wiki/index.php/Main_Page I have created a complete help file of all ICS components, properties, methods and events, but it would take weeks to make it useful with actual text on what they do. Some developers give up at that point and just leave a skeleton help file. Angus
  23. Angus Robertson

    Invalid Compiler Directive: 'MESSAGES'

    SVN is updated again with (I hope) all the MacOS fixes reported here, including fixing some FMX samples so they build again. Will be zipped overnight. Angus
  24. Angus Robertson

    Invalid Compiler Directive: 'MESSAGES'

    Yes, when Delphi first got Linux as a target I did try to create a Linux VM, but I've at this stuff so long I really do not have the energy to learn much new, and in particular another command line language, so I never got Linux working. At the time it did not support AnsiString so would not have got very far anyway. You'd have thought a Hyper-V disk of a working Linux OS would be easy to find, but no, they wanted you to start from scratch. Angus
  25. Angus Robertson

    Invalid Compiler Directive: 'MESSAGES'

    OK, did not know about Posix.SysTypes which is what should have included rather than adding size_t to our types unit. Can you please remove that block of Posix code from OverbyteIcsTypes and see how manu units need Posix.SysType adding? NTLM is used in both clients and servers, but should not used for Posix, I'll look at it. BTW, I've just got a need VCL.Forms unit error building the FMX package, did not see that last time I built it so must have added something horrible in the last day or two. Angus
×