-
Content Count
1167 -
Joined
-
Last visited
-
Days Won
16
Everything posted by FPiette
-
Delphi TClientSocket can't connect to Arduino server, Socket error: 10061
FPiette replied to Dominik99's topic in VCL
Windows socket error 10061 is a Connection refused error sent to you by the target machine. This means your Arduino server is not running or not listening on the TCP socket you think. Your client may be faulty by using the wrong port or wrong IP or blocked by a firewall rule. -
Would be interesting to know what the issue was so that other may solve the same issue.
-
That is a good decision.
-
By memory issue, I meant not enough memory to handle large data in memory, not memory leaks. Agreed. That is not a good idea at all. And I would not classify 64 bit as a technology that matters for computer software. It has been invented to overcome the 32 bit memory space which begins to become to small for some kind of data. Beside memory only some computation is faster with a 64 bit CPU. Mainly computation requiring 64 bit integers. It is also beneficial to have a 64 bit OPERATING SYSTEM that is able to run 32 bit software natively. No need to have a 64 bit APPLICATION to get benefit of a 64 bit OPERATING SYSTEM. I have a 64 bit CPU running Win10. I have installed 64GB of memory which would not be possible with a 32 bit computer. I benefit of the 64 bit memory space even with 64 bit applications. I can run more large 32 applications side by side without impacting performances.
-
Why do you think you need 64-bit application? Do you have memory size issue (Like very large images to process)? As Uwe said, developing in 32 bits will give you a better experience. Latest Delphi 11.2 support ALSR for 64 bit. This could be a reason to move to 64 bit. Using ALSR result in a slightly more secure application.
-
What is exactly the error you get? What is the call stack at the time of error?
-
Are there any other NTLM options?
FPiette replied to alank2's topic in ICS - Internet Component Suite
Yes, you can add part or all ICS source code to your project so that you can trace everything and put breakpoints where you want. Don't use runtime package to build your executable. -
Incompatible types: 'Winapi.WinSock.in_addr' and 'OverbyteIcsWinsock.in_addr'
FPiette replied to Nico Doe's topic in ICS - Internet Component Suite
Not much. Have a look at the wiki: http://wiki.overbyte.be And study the samples delivered in the distributions. For the rest, you are welcome to ask here. -
Please show your code. Or better create a very simple application which demonstrate the issue. Note: Il y a quelques fautes d'orthographe dans la fenêtre d'explication des étapes que vous montrez.
-
"Expert" programmers use Delphi. Lazarus / Free Pascal if not really compatible with the large Delphi ecosystem.
-
I use a VPN and the Windows own remote desktop (Client side) and a VMWare virtual machine at server side. No change to the application.
-
You can even do better to forgive some user common error: if TryStrToDate(Trim(edtFrom.Text), DateVariable) then
-
TryStrToDate is the way to go. The error you mention tells you that you have wrong argument type. As we don't know how you called the function, we cannot help you more. Always show the code you are using !!
-
You can easily make the window bounce on the edges of the monitor. Easy calculation.
-
No need to call Repaint. No need to change position if window is minimized. Pay attention to not go out of the monitor limits.
-
Just change Top and Left properties using a timer. If you shift the form (ie: Top := Top + 1;) don't forget to test is the form goes out of the screen (Use the screen variable to get the with and height.
-
TCP server rejecting connections
FPiette replied to DusMac's topic in ICS - Internet Component Suite
To be sure, I gave you the wrong command (Sorry). It is "netstat -a". You should at least see the listening port plus one port per already connected client. If the listening port is missing, somehow your server socket has been closed. Could be caused by a bug in your code. If you have a lot of TCP services, you may use the command: netstat -a | find "TCP" | find ":5000 " Assuming your server listen on port 5000. Don't forget that if you run the client on the same computer as the server, netstat will give TWO lines for each client. Example of output when two connected clients run on the same computer as the server: C:\Users\fpiette>netstat -a | find "TCP" | find ":5000 " TCP 0.0.0.0:5000 Z600:0 LISTENING TCP 192.168.1.6:5000 Z600:52740 ESTABLISHED TCP 192.168.1.6:5000 Z600:52787 ESTABLISHED TCP 192.168.1.6:52740 Z600:5000 ESTABLISHED TCP 192.168.1.6:52787 Z600:5000 ESTABLISHED BTW: You can replace netstat by TcpView which gives more details about each connection and is dynamic (Showing changes during noticeable time). -
TCP server rejecting connections
FPiette replied to DusMac's topic in ICS - Internet Component Suite
What is the error code experience when not able to connect? What does "netstat -t" display on the server when client not able to connect? The number of active socket is limited by the OS. Are you using a Windows Server OS or a Windows Desktop? -
Probably the documentation will help you: https://docwiki.embarcadero.com/RADStudio/Sydney/en/Registering_Components
-
No exception handling with server crash
FPiette replied to Angus Robertson's topic in ICS - Internet Component Suite
My experience is that bugs can live for very long time while the application works perfectly. Then you change the compiler or the OS and suddenly the bug surface. One cause of the behavior is that the bug corrupt some memory area that is not used until the new compiler or OS change. Those kind of bugs are among the most difficult to locate. -
WebBrowser is using Internet Explorer which has been retired by Microsoft. Try with TEdgeBrowser instead. Look at Delphi documentation https://docwiki.embarcadero.com/RADStudio/Sydney/en/Using_TEdgeBrowser_Component_and_Changes_to_the_TWebBrowser_Component
-
No exception handling with server crash
FPiette replied to Angus Robertson's topic in ICS - Internet Component Suite
There is a tool (GFlags.exe) in Windows SDK to help detect heap corruption. Look at the documentation: https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/gflags-and-pageheap -
No exception handling with server crash
FPiette replied to Angus Robertson's topic in ICS - Internet Component Suite
When the exception occurs, is fault offset always the same (I mean with the same executable)? If it is, try setting a data breakpoint at that address so that the debugger stops when the location is changed. -
No exception handling with server crash
FPiette replied to Angus Robertson's topic in ICS - Internet Component Suite
From your description, the heap corruption you experience is a Windows heap corruption, not a Delphi heap corruption. Do you mean the crash happens during the execution of SSL_free(FSsl), or right after it returns or sometimes later? Are you sure FSsl is not corrupted or already freed? -
No exception handling with server crash
FPiette replied to Angus Robertson's topic in ICS - Internet Component Suite
I think crash dump contain the call stack. You need to create the map file with Delphi to be able to find what the addresses show in the crash dump are pointing to. Do you have tried with the remote debugger? Do you have tried with WinDbg? https://marc.durdin.net/2015/11/windbg-and-delphi-a-collection-of-posts/ https://github.com/andremussche/map2dbg