-
Content Count
1210 -
Joined
-
Last visited
-
Days Won
16
Everything posted by FPiette
-
Access violations in OverbyteIcsHttpRestTst
FPiette replied to omnibrain's topic in ICS - Internet Component Suite
You are not using a debug version of the application because there is missing details in the stack trace. Make sure you rebuild all, including the components.the debugger should show the excat line where the exception occurs. -
Access violations in OverbyteIcsHttpRestTst
FPiette replied to omnibrain's topic in ICS - Internet Component Suite
Please build using debug configuration and run with the debugger. Then when the debugger hit the exception, copy the call stack and the code around the error, and paste it here. -
Guidance on FreeAndNil for Delphi noob
FPiette replied to Paul Dardeau's topic in RTL and Delphi Object Pascal
You can keep this code. It is equivalent to FreeAndNil(FMyObject). Do whatever you feel most readable for you. -
Guidance on FreeAndNil for Delphi noob
FPiette replied to Paul Dardeau's topic in RTL and Delphi Object Pascal
I always use FreeAndNil, even if it is the last line of a method. Why? Because my code evolve, I can copy/paste it somewhere, add line,... If the object variable (Actually a pointer btw) is nullified, I'm sure I'll get and exception if I forgot I can no more use that object reference. The impact on performance is nearly null. But all rules can be ignored sometimes... -
Since the internal error is in OverbyteIcsWinsock.pas, I suggest you build the simplest console project using the file and produce the internal error. The project doesn't have to do real things. Since URW1111 is an internal error, compiling is enough. Then remove (comment out) code chunks in OverbyteIcsWinsock.pas until the error disappears. Then reduce the size of the offending chunk until you find the line causing the error. This is for sure a long process... Report the offending line here.
-
What do we win?
-
In HL7, end of segment is single CR (#13). Set TWSocket LineEnd to single #13.
-
I have used TWSocket for hospital application (HL7 V2.3) and never had any issue. You should turn line mode on and use CR as line end. The as it is ASCII, use ReceiveStr to get the lines one at a time into a string.
-
Wordpress upload media
FPiette replied to George Bairaktaris's topic in ICS - Internet Component Suite
I don't understand why you can fix the code in your initial post. Just mimic the working code you shown. If you don't understand who to do that, ask SPECIFIC questions. I won't write the code for you (I don't have access to the website you use for testing). -
Wordpress upload media
FPiette replied to George Bairaktaris's topic in ICS - Internet Component Suite
That code and the ICS code you wrote do not send the same parameters! ContentType is not the same. ContentDisposition is not the same. Accept is not the same. AcceptEncoding is not the same. With ICS, you restrict SSL cypher to sslCliSecTls13Only , no restriction specified in the other side. Data posted must be in form-data format. And maybe other differences for unspecified properties. François Piette -
Problem at execution time in OverbyteIcsHttpProt
FPiette replied to Passama's topic in ICS - Internet Component Suite
Not sure I understand what you mean. But for sure, you must remove any old components from the IDE and install the new one each time you change ICS (Or any other component) version. -
You write way to long posts! If you like so much Unix shell, use Cygwin under Windows: it has it all.
-
There is PowerShell. Version 1.0 was released in November 2006.
-
with OverbyteIcsSslHttpRest included, IIS / ISAPI.DLL not responses anymore
FPiette replied to lbucko's topic in ICS - Internet Component Suite
Probably the ISAPI DLL doesn't find the OpenSSL DLLs? Or lack permission to load them. -
Yes, you should! Console programming (Like Unix utilities) are mostly included in GUI programs... without GUI.
-
TSslHttpRest - How can I get web server response time?
FPiette replied to KBazX's topic in ICS - Internet Component Suite
Always ask the good question so that we don't waste our time answering something unwanted. See Angus answer. -
TSslHttpRest - How can I get web server response time?
FPiette replied to KBazX's topic in ICS - Internet Component Suite
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. -
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>'}
-
How do I create/generate unique ID texts?
FPiette replied to JohnLM's topic in Algorithms, Data Structures and Class Design
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. -
How do I create/generate unique ID texts?
FPiette replied to JohnLM's topic in Algorithms, Data Structures and Class Design
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 -
How do I create/generate unique ID texts?
FPiette replied to JohnLM's topic in Algorithms, Data Structures and Class Design
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 -
That is a very different thing. The rule: correctly define what your problem is and you'll get the best answers.
-
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
-
program with tsslHttpRest (ICS 9.3) starts up slowly, 30-40 seconds on some Windows 2008
FPiette replied to iddqd345's topic in ICS - Internet Component Suite
Delphi is not even supported on Windows 2008. https://docwiki.embarcadero.com/RADStudio/Athens/en/Installation_Notes#Operating_System_Requirements -
Httpcliet (post) x Httpserver (Passando parametros)
FPiette replied to IltonK's topic in ICS - Internet Component Suite
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.