-
Content Count
1167 -
Joined
-
Last visited
-
Days Won
16
Everything posted by FPiette
-
Using ChatGPT from your Delphi program with ICS
FPiette replied to FPiette's topic in ICS - Internet Component Suite
They explain everything in the API documentation. Please read! You can test by yourself easily. I have nothing to prove. -
Using ChatGPT from your Delphi program with ICS
FPiette replied to FPiette's topic in ICS - Internet Component Suite
You have to understand that the link you give point to the web application in front of the OpenAI engine. The web application make use of the API that my Delphi demo use as well. So technically my demo don't talk to ChatGPT (Which I repeat is a web application) but talk to the same underlying API to the AI engine. My demo is *not* an automation of ChatGPT. -
Is asked ChatGPT: What is Internet Component Suite for Delphi?
FPiette replied to FPiette's topic in ICS - Internet Component Suite
I wrote de demo program showing how to query ChatGPT from your Delphi program. Using ICS of course. See this post: -
TDateTimeHelper from D11 that can be used in D10.4?
FPiette replied to David Schwartz's topic in RTL and Delphi Object Pascal
Not sure this is legal if he didn't upgraded first to D11.2. -
Is asked ChatGPT: What is Internet Component Suite for Delphi?
FPiette replied to FPiette's topic in ICS - Internet Component Suite
-
Is asked ChatGPT: What is Internet Component Suite for Delphi?
FPiette replied to FPiette's topic in ICS - Internet Component Suite
That's not what I read. There are reviewer which will allow or not to enhance the engine. Don't expect your criticism to have an immediate impact. It probably depends on de quality of it and the frequency of the related subject in the questions. -
Is asked ChatGPT: What is Internet Component Suite for Delphi?
FPiette replied to FPiette's topic in ICS - Internet Component Suite
You are right. If an answer is wrong, then you may correct it! Use the thumb down on the right of the given answer and explain it is wrong. The system learn from his error. -
You should file a bug report at https://quality.embarcadero.com You should write the smalest possible test application demonstrating the issue.
-
Looking for fully developed sample project with layers and framework
FPiette replied to Mallik's topic in VCL
If I understand well, you want a multi-tier application architecture. You want a database server (Data persistence), an application server (Business rules) and a front end (User interface). This is a very common architecture. There are many ways to implement that. Nowadays, most implementation of such architecture is a web application. Pick any database server you like (MS-SQL, Oracle, mySQL, Firebird, Interbase and one of the many others), pick any webserver you like (Existing such as IIS or Apache, or write your own in Delphi using ICS or other) and write the business rules (middle tier) as an extension of the webserver, and use a browser for frontend. Another way of implementing that architecture is to write both middle tier and and front end using Delphi. I made that a lot using Internet Component Suite (ICS). I use TWSocket at front end (client side) and TWSocketServer at middle tier (Application server implementing business rules). They both support SSL/TLS for high secure connections. If you need help with theses please use the forum https://en.delphipraxis.net/forum/37-ics-internet-component-suite on this server which is dedicated to ICS support. -
Send message frmo VCL app to another machine in lan
FPiette replied to mikak's topic in General Help
This has been my guideline all the time when talking about delphi code. and it has saved me couple of times. But sometimes must relay on ready solutions but use those who have large user base. One just don't have enough time to write everything by himself ( = myself + my team) My point was not: "Do not use code from other". But it was: "Use code from other only if you get full source code and can recompile EVERYTHING". There are a lot of high quality freeware and commercial products delivering their full source code. Stick with those products and you'll never depend on the people or companies behind them. I use Delphi since version 1 and that has always been by guideline. Working as independent consultant, I saved many companies being stuck with old Delphi version because of the product they depends on and having been stopped. I'm myself author of Internet Component Suite (ICS) which I developed and made freeware with full source code since 1996. A lot of people participated to the development and even after the last 26 years are still developing it actively. -
Send message frmo VCL app to another machine in lan
FPiette replied to mikak's topic in General Help
The solution I depicted with TCP socket can as easily applied when using a server dedicated to be a "exchange" server. MQTT is a complex product and Delphi implementation is likely to depend on a number of other product. Whatever solution you select, I advise you to only use products for which you'll get FULL SOURCE code and you'd never use prebuilt libraries or DCU but instead recompile yourself everything. This is the only way to be sure that in the future you'll be able to have your own product survive to the death of the external product you used. -
That's your choice. The problem is to know what exactly need to be backuped for RAD studio. There are files and registry keys. The license is linked to the computer name. If you change your computer name (maybe because you have a new one) then the license won't work anymore. Consider using a VMware virtual machine. You install RAD studio inside the VM and you can move the VM to another computer without any issue. And you can use "snapshot" to save the VM state, including his disks, and get back to it at will. This is a kind of local backup. I use a VM for trying things that cannot be uninstalled or for beta software. I always keep a snapshot with the clean state. Actually I take a snapshot right after having setup windows with all the initial settings. Then I take a second one when I have installed all utilities I use for development. And then other as needed, for example before installing any beta. The only caveat of virtual machine is when you have to control hardware devices. They are usually not supported by the virtual infrastructure.
- 22 replies
-
Think about making a backup...
- 22 replies
-
Send message frmo VCL app to another machine in lan
FPiette replied to mikak's topic in General Help
That's a better explanation of your requirement. I still persist to the socket idea, using SSL to make the connection secure. ICS component can be used for that (Freeware with full source code. See http://wiki.overbyte.be). Each workstation will have a listening TCP socket to receive messages from others (TWSocketServer). In your situation, probably all workstation are perfectly known (You could have a table in your database with all the hostname). When one workstation has to send a message to another, it will use a TCP client socket (TWSocket) to connection to the other (one or more in a loop) where the message has to be sent. It is better that the receiver reply with an OK answer or an error (Much like standard protocols are working [HTTP, FTP, SMTP and many others]). You could use text based messages much like many other protocols. Each message is a text line. This is easy to implement with TWSocket/TWSocketServer since there is a "line mode" in which the OnDataAvailable is triggered only when a complete line is received (Usually end-of-lin is CR/LF pair but you can select whatever you prefer). The use of SSL or not is quite transparent. The programming effort is low. If you need help with ICS, there is a dedicated support forum on this website: https://en.delphipraxis.net/forum/37-ics-internet-component-suite/ Just ask for your questions. BTW: There are a number of other socket components/libraries. ICS is just my favorite (I wrote it and make it available with full source code). Any will probably do what you need. -
That was probably not the best thing to do. The number of install you are allowed is very limited (I think it is 3). If you need more installations, you'll need to contact Embarcadero to request them to bump the installation count. It's to late now but it would have bee a good idea to give the exact error message you have before deleting everything. Note that if you had the community edition, that license must be renewed each year.
- 22 replies
-
Send message frmo VCL app to another machine in lan
FPiette replied to mikak's topic in General Help
This is really a short description which is not enough for us to advice for solutions. For me the easiest way to exchange messages between two similar VCL application is to use simple TCP socket to make the apps peer-to-peer. You don't need complex solution if there are only two applications. If you tell us more about the real problem you have to solve (The requirement), you will probably get a better answer. -
Don't worry, I have done that GitHub repository long time ago. It is completely outdated.
-
You can use almost all socket component on the market to do that. For example freeware ICS TWSocket (Client side) and TWSocketServer (Server side). There is a group on this website dedicated to ICS: https://en.delphipraxis.net/forum/37-ics-internet-component-suite/
-
Hello, I have an old and excellent code by Russell Libby dated back to 2003 which I updated in 2013 for current Delphi (XE5 at that time). The code is working well for all Delphi XE versions and also for Delphi 10. Starting from Delphi 10.1 up to current Delphi 10.3.1 Rio, the code is broken. It compile fine but stay blocked at runtime. The blocking occurs in the server code, when an asynchronous I/O against a named pipe that is supposed to be finished. (Line 2710 in Pipes.pas, call to GetOverlappedResult). I tried several hours to debug the code, comparing what happen with Delphi 10 (Working) and Delphi 10.3.1 (not working), without success. I suspect something with multithreading more than with asynchronous I/O. I'll be happy if someone has an idea or - even better - has a look at the source code (attached). To test the code, compile and run the server, then the client. On the client, click connect button, then click send button. You'll see data sent by the client into the server window if it works. If it doesn't work, no data displayed on the server Window and the process has to be killed by task manager. Regards, François Piette Embarcadero MVP PipesRussellLibby.zip
-
Include External Text Files in Output Folder
FPiette replied to Jeff Steinkamp's topic in General Help
Use post-build commands in your project options. Add the command to copy the required file to the destination folder. You have a bunch of macros to access many things. You can see the macros when you click the "..." to add post-build commands. For example $(OUTPUTDIR) in your command (such as copy) will be replaced by the actual output directory. -
Try this: if CardForm = Nil then CardForm := TForm.Create(Self);
-
Only if you use a critical section to protect the queues from multiple access by the main thread and the worker thread. Use a custom message to signal the main thread that a message has been queued. Another approach is to use only Windows messaging. The sender will LParam to store what you name Lvl and use LParam to store a pointer to an memory block that you allocate once per message and where you copy the message, including a nul character to give end of message. The message handler MUST free that memory block after getting the message out of it.
-
Display of bmp and jpeg images is poorer quality in Windows 11
FPiette replied to Martin Liddle's topic in General Help
You should start from scratch. Trust me, frequently when doing so, people find themself the error they made or can't reproduce their own issue. Then then fix themself their code in their larger application based on the small example. -
Display of bmp and jpeg images is poorer quality in Windows 11
FPiette replied to Martin Liddle's topic in General Help
The code you show is not that useful. Preferably Show a minimal, complete, verifiable and reproducible example (See https://stackoverflow.com/help/minimal-reproducible-example). to know exactly what that means). With such example, we will be able to reproduce your problem, understand it and try to solve it. -
Display of bmp and jpeg images is poorer quality in Windows 11
FPiette replied to Martin Liddle's topic in General Help
The size need to be expressed in pixel. And speaking about computer, please tell the OS! You have two computers with two different OS and we don't know which is which. Try to manage that the image are NOT rescaled for display. This is how you get best looking.