-
Content Count
1167 -
Joined
-
Last visited
-
Days Won
16
Everything posted by FPiette
-
No exception handling with server crash
FPiette replied to Angus Robertson's topic in ICS - Internet Component Suite
Probably not easy to do, but have a look at https://forums.ivanti.com/s/article/How-to-set-up-for-capturing-Heap-Corruption-dumping-at-the-point-it-occurs?language=en_US -
You should better explain the PC connection to the ISP and the printer connection to the ISP. Usually, there is a router and that device know the external (public) IP address. I don't think there is a generic API that works with all routers. There are external server that show your external (public) IP on a web page the return to you. For example try this: https://www.whatismyip.com/ If they don't provide an API, you can always use a HTTP component to get the page at that URL and parse the returned HTML to extract your IP address.
-
What is the meaning of the square bracket in here?
FPiette replied to stacker_liew's topic in RTL and Delphi Object Pascal
Those values in square brackets are custom attributes. Have a look at the documentation : https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Declaring_Custom_Attributes_(RTTI) -
I'm happy it worked for you. Maybe you should do a full Delphi reinstall ?
-
There is no "IgnoreExitCode" parameter in the project. Actually, I don't even know about that parameter in projects or IDE. The error you see comes from MSBuild. The IDE generate a MSBuild script based on project and IDE options. Somehow you have something wrong there. I have no idea what but maybe you have an IDE extension (Sometimes called an IDE wizard or expert) that modify thing on the fly. Maybe there is a bug in the IDE we have not seen ourself. Verify that you installed all IDE updates. In the IDE "about box" you should see "Embarcadero® Delphi 11 Version 28.0.44500.8973" and also "Delphi 11 and C++Builder 11 Update 1" as I do.
-
On which project does this occur?
-
You make thing to complex. Delphi strings are reference counted with copy-on-write.
-
Look in the "install" directory: you'll find project groups for various combinations of VCL and/or FMX. That is stated in the ReadMe8.txt file. About the two entries in GetIT, that is Embarcadero stuff. This is the same ICS for moth FMX and VCL. They just separated VCL from FMX. I don't know why. And by the way, GetIT is not updated frequently. It is better to download ICS from OverByte webite. See http://wiki.overbyte.eu/wiki/index.php/ICS_Download.
-
sending text between applications (10)
FPiette replied to jbWishmaster's topic in ICS - Internet Component Suite
One more note : UDP is - by design - an unreliable protocol. There is nothing in the protocol that check for lost packet or receive on twice. So you must take that into account. On a LAN it rarely loose packets, only when there is a congestion. If you need, you must design your own UDP based protocol that somehow check if data sent is received. If you need to send information reliable, then use TCP which is - by design - a reliable protocol with error detection and correction, re-transmitting if needed. If the protocol can't correct the error, you get an error returned to the application. So my advice is: use UDP from his broadcasting feature to discover the computers and then use TCP to transmit data (peer-to-peer). -
sending text between applications (10)
FPiette replied to jbWishmaster's topic in ICS - Internet Component Suite
There are several possibilities: 1) You get the IP or hostname of each computer in the LAN. You told us you can do it. 2) You write your program with a TWSocket listening on UDP broadcast (See OverbyteIcsUdpLstn demo project). Beside listening, your program will periodically do a broadcast to say "Hey I'm here" (We call that advertizing of service)(See OverbyteIcsUdpSender demo project). That way, each program will know all others on the LAN (UDP broadcast do not go outside of the LAN). One broadcasted message could also say "Hey, who is there?". The receiving program will answer immediately with a message "Hey I'm here". 3) If you need to know the all the PC running your program only once, you can use a port scanner to check all IP on the LAN that listen to a given port. This could be slow or very slow for large LAN. Port scanner can be found for free, Google is your friend. Does it helps ? -
Can not login to FTP server without password
FPiette replied to DMX78's topic in ICS - Internet Component Suite
Are using the sample code provided with ICS to test or do you use your own code ? -
I think the easiest is to write a post and pre-processor for JSON. After producing the JSON, you pass it thru the post-processor which will obfuscate it. At the other side when you get the obfuscated JSON, you unobfuscate it with the pre-processor.
-
An Authentication object was not found in the SecurityContext
FPiette replied to karel_janecek's topic in ICS - Internet Component Suite
I can confirm that using ICS demo OverbyteIcsHttpsTst.dproj, the authentification works correctly (Using the credentials that has been sent to me) and the request is sent correctly. The server response with a "server fault", probably because of an incorrect request. The error message is in Czech and I don't read that language. I noticed that the server requires TLSV1.2 or TLSV1.3, nothing else. Now Karel should start from the demo and remove any code he doesn't need, step by step, checking each step to see if he removed something required. -
An Authentication object was not found in the SecurityContext
FPiette replied to karel_janecek's topic in ICS - Internet Component Suite
You should also publish your sample here, greying out (but not remove) any credential information. -
An Authentication object was not found in the SecurityContext
FPiette replied to karel_janecek's topic in ICS - Internet Component Suite
You can easily find my email in ICS source code. -
An Authentication object was not found in the SecurityContext
FPiette replied to karel_janecek's topic in ICS - Internet Component Suite
In your Yamaco1request.txt, I don't see the the same http header lines, including Authorization which is at least needed. Your code is wrong. Please post a complete, small, minimalist example of code which reproduce the problem you have. -
An Authentication object was not found in the SecurityContext
FPiette replied to karel_janecek's topic in ICS - Internet Component Suite
In addition to what Angus said, it is possible that the web server make use of cookies and you must handle those properly. A way to debug the issue is to use WireShark to spy on the dialog between SopaUI and the server, and then on the dialog between you ICS powered application and the server. Looking at the differences will surely help. -
Can an Object hold and object list of Itself?
FPiette replied to AlanScottAgain's topic in Algorithms, Data Structures and Class Design
No, it is a forward declaration. The class itself is declared after TDrawingObject. That declaration is enough for the compiler to know it has to reserve space for the class field (Actually a pointer). The code accessing the property DrawingObjectList is in the implementation section and after both classes have been completely defined. -
Can an Object hold and object list of Itself?
FPiette replied to AlanScottAgain's topic in Algorithms, Data Structures and Class Design
As long as you avoid or detect recursive infinite loops, then it is OK. -
ICS Delphi DataSnapBridge
FPiette replied to nighthawk2032's topic in ICS - Internet Component Suite
Maybe this will help: -
You could use a non-blocking asynchronous TCP component such as ICS (TWSocket and other for high level protocols). With ICS, methods like Connect, Send, Receive and other are not blocking, they are merely a request which are almost instantaneous. Later when connection is established, data received or sent, you have an event. The UI is never blocked, even with hundreds of active connections. No need to use thread of wait loop (Of course you may use both if you like complexity). You can install ICS from the IDE using GetIT, or download a zip file, or use the SVN repository. Have a look at http://wiki.overbyte.eu/wiki/index.php/ICS_Download. Dephi-Praxis has an ICS dedicated support forum : https://en.delphipraxis.net/forum/37-ics-internet-component-suite/
-
You don't need to put the whole class in a thread. Just put the blocking call in the thread. Or use a non-blocking component to do the REST communication, such as ICS.
-
I'm using 3-5 hardware components Maybe you mean that you use 3 to 5 devices in the computer to generate the fingerprint. If this is the case, then don't forget that the use may upgrade their hardware because of failure or just better performances. You may detect an unknown computer just because they replaced their Ethernet card (If you use the MAC address), hard disk serial or even Windows own MachineGUID. The computer may also be a virtual one running under VMWare, Hyper-V or another hypervisor. That the hardware is virtualized. Lot's of traps...
-
What is it ?
-
This could help: https://social.msdn.microsoft.com/Forums/windowsdesktop/es-ES/fbe70102-526c-4beb-9929-6da9131797a8/device-identification-values?forum=netfxbcl