Jump to content

FPiette

Members
  • Content Count

    1172
  • Joined

  • Last visited

  • Days Won

    16

FPiette last won the day on September 2

FPiette had the most liked content!

Community Reputation

385 Excellent

1 Follower

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Probably the ISAPI DLL doesn't find the OpenSSL DLLs? Or lack permission to load them.
  2. FPiette

    Should I just dive in to GUI programs?

    Yes, you should! Console programming (Like Unix utilities) are mostly included in GUI programs... without GUI.
  3. Always ask the good question so that we don't waste our time answering something unwanted. See Angus answer.
  4. You have to see that at server side. Anything you measure at client side will include transport time and some processing by the receiver. I the server can't tell you the execution time, you can get an approximation by using a network sniffer such as Wireshark. Using this tool you can get the timestamp of the request and the timestamp of the response. The difference gives you the execution by the server.
  5. FPiette

    ICS C++ packages

    There is a way ! The $HPPEMIT directive should do the job. Try to add those lines somewhere near the top of the OverbyteIcsTypes.pas file: {$HPPEMIT '#include <mswsock.h>'} {$HPPEMIT '#include <ws2ipdef.h>'}
  6. Here an example: program Crcr32Demo; {$APPTYPE CONSOLE} {$R *.res} uses System.SysUtils, System.ZLib; var Buf1 : AnsiString; Buf2 : String; Crc : UInt32; begin Buf1 := 'Hello World!'; Crc := System.ZLib.Crc32(0, PByte(Buf1), Length(Buf1) * Sizeof(Buf1[1])); WriteLn('AnsiString ID=', IntToHex(Crc, 8)); Buf2 := 'Hello World!'; Crc := System.ZLib.Crc32(0, PByte(Buf2), Length(Buf2) * Sizeof(Buf2[1])); WriteLn('UnicodeString ID=', IntToHex(Crc, 8)); ReadLn; end. The output is: AnsiString ID=1C291CA3 UnicodeString ID=E2106423 AnsiString and Unicode string doesn't produce the same result because character code are different (8 bit and 16 bit per character). and CRC32 work at the byte level.
  7. Why don't you use what I proposed? You will always get an 8 characters key and make use only Delphi RTL functions. Please comment on this. I proposed you use CRC32 which is a kind of hash. https://docwiki.embarcadero.com/Libraries/Sydney/en/System.ZLib.crc32 IntToHex: https://docwiki.embarcadero.com/Libraries/Sydney/en/System.SysUtils.IntToHex
  8. One possibility is to use a CRC32 applied to the text and then convert the resulting UInt32 to hex-ascii representation. See CRC32: https://docwiki.embarcadero.com/Libraries/Sydney/en/System.ZLib.crc32 IntToHex: https://docwiki.embarcadero.com/Libraries/Sydney/en/System.SysUtils.IntToHex
  9. FPiette

    VCL DB App. To Cloud

    That is a very different thing. The rule: correctly define what your problem is and you'll get the best answers.
  10. FPiette

    VCL DB App. To Cloud

    There is nothing very special to the "cloud". The cloud is just a bunch of computer in a remote data center. Those computers are running an operating system, some of which are Windows and are able to run a VCL Delphi application. One solution is to use a virtual desktop solution. For example this : https://learn.microsoft.com/en-us/azure/virtual-desktop/overview
  11. Delphi is not even supported on Windows 2008. https://docwiki.embarcadero.com/RADStudio/Athens/en/Installation_Notes#Operating_System_Requirements
  12. Have a look at the demo program OverbyteIcsSslWebServ.dproj! In OverbyuteIcsSslWebServ1.pas, look at method SslHttpServer1PostDocument(). If the posted URL is the one you expect (In the demo, this URL is '/cgi-bin/cgifrm1.exe' and no, there NO cgifrm1.exe program, this is just a kind of virtual program), you have to allocate space for the posted data and return with Flags set to hgAcceptData. Then since you accept data, you'll get one or more PostedData events (Data comes in chunks). In the demo, look at SslHttpServer1PostedData(). In my opinion, this demo is exactly what you want to do. Study it carefully. BTW: If you don't do what I said (Edit you message to translate it in English, even in bad English. Use Google translate if needed), then you delay the answer. Now, study the sample I pointed to you, revise your code and if you still have an issue, post a NEW question, in English.
  13. Please translate your post to English (Use the Edit button).
  14. It is a problem for application which make use of a state machine, something I use frequently. Having an event triggered twice add useless complexity at the application level and leads to bugs, especially for "final" event like OnRequestDone. It is better to handle that in the component.
  15. Please stay on subject. This forum is for ICS only. If you have question about ICS, you are welcome here. For IIS and other subjects please use one of the many other forums on this server. One more note: you are deviating significantly from the original topic of this discussion. Please create a new discussion for each topic. Here we have a forum and not a chat.
×