

DelphiUdIT
Members-
Content Count
777 -
Joined
-
Last visited
-
Days Won
17
Everything posted by DelphiUdIT
-
Something wrong with .dproj files ? These files maintain the project settings regarding compilation, environment, path, etc.
-
[ EIdTLSClientTLSHandShakeFailed ] SSL negotiation failed
DelphiUdIT replied to Aztec's topic in Indy
May be you can try with: //I think these two lines resolve you problems SSL.SSLOptions.Mode := sslmUnassigned; SMTPServer.UseTLS := utUseImplicitTLS; //look also for SSL.Port setting like 465 // SMTPServer.AuthType := satDefault; SMTPServer.ValidateAuthLoginCapability := True; SMTPServer.Connect; SMTPServer.Authenticate; if SMTPServer.DidAuthenticate then begin //Make message SmtpServer.Send(message); end; If you search in the Forum there are others discussion about that. Bye -
My experience: Laptop PC less than two years old, 32GB and SSD. Win 11 and WSL / VirtualBox Rad Studio 11.3 Enterprise, MIcrosoft Studio, etc ... A VCL project with 50 personal units and 30 Forms with Styles, TChart, Indy, FastReport. Manual TThread implementation, various third-party libraries with "self-produced" wrappers including a computer vision library. The "project group" has several other projects including C++ for hardware support DLL libraries Compilation, for one project, of about 400 thousand lines (I don't use BPL). Memory occupation during work (including compilations): - Delphi approximately 450 Mbytes, - LSP approximately 300 Mbytes. I've never had problems with LSP (or at least I've never noticed), codeinsight is set automatically and responds correctly (you rarely have to use the keyboard shortcut to give it a "boost"). The "Help Insight tooltip" always works well too. I use Parnassus Debugger, and I must say that every now and then the debugger "crashes" and it is better to restart the IDE. But when I debug I normally have something like 50 instantiated manual threads, many that interact with the hardware and others that instantiate very heavy third-party libraries. I must say that as an experience it is certainly positive. Bye
-
When will we have a 64-bit IDE version ?
DelphiUdIT replied to luciano_f's topic in Delphi IDE and APIs
Sorry, but what are you talking about? You said you don't know Lazarus but you say you want a Delphi like Lazarus, you decline a series of features without knowing them or having tried them. Try using Lazarus with your project, install Lazarus on Linux and work from there and then try to "distribute" your work to other Linux PCs: X11 and Wayland, Linux 4.xx, Linux 5.xx, Linux 6.xx , GTK2, GTK3, GTK3.2 GTK+, GTK4, QT5, QT5Moded, QT6, etc .... I won't continue to mention all the libraries otherwise .... Let's not talk about the distros (Debian, Fedora, Ubuntu just to name a few some common). Are you sure you want a Delphi like this? Fmx runs in a few OS (Linux, Mac, Android and IOS, as well as Windows) but at least the environment is unique. Use third-party libraries and see if they also run in all operating systems supported by Lazarus. FastReport for example on Lazarus only runs on Windows and Linux. Lazarus really doesn't have "skins". And, just to be clear, "skins" also exist in FMX, not just in VCLs. Etc... As others have said, it is better to have the IDE that is there now and most of the engineering resources dedicated to this IDE rather than splitting efforts and finding ourselves with new IDEs with new problems and the old one with old unsolved problems. The time will also come for a Delphi on "Mars", but only when the time is ripe. Bye -
I've been using this technique for years (in Windows) because I use external graphical controls that don't have the POPUP function and so I simulate POPUP this way. Especially with Touch screens, where there is no mouse and it is simulated with touch. Bye
-
When will we have a 64-bit IDE version ?
DelphiUdIT replied to luciano_f's topic in Delphi IDE and APIs
RTTI is an experimental stage. Lacks some generics support also. Anonymous methods and function reference are still not supported (may be in the next stable release will be), there are no styles or themes in the LCL, and since they are used to be compatible with a lot of OS they don't "use" some functions for current OS (for example, they lack full support for drag and drop operations). Not all Windows Messages are supported ... In the standard distribution there are not many components and most of the components are third party and must be installed (there is an online repository also accessible from the IDE). When the version changes it very often happens that support for old components is not available, and since many components have links to each other this blocks several components. Support (via forum) is active and is normally quite fast. Every time you install a component you need to recompile the IDE, There is no company behind Lazarus and FPC and therefore what guarantee can there be regarding a product that must generate production software? These are only some questions about .... -
I think the new syntax is simply an opportunity, not an obligation. And I see no reason to include IFDEF... just don't use it.
-
Except for a library for Android ARM64-V8 (64 bit) which is present in Indy and which is not present in Fulgan.
-
You can look to Indy repository too: https://github.com/IndySockets/OpenSSL-Binaries
-
I use these (it's for Delphi 11.3 and Indy from github).
-
I've tried again several times and it actually works 1 time in a while. Saying that there aren't many ways: do you use what @Remy Lebeau told you or do you use a simple timer i.e. you set "enable = false" for all the controls and then call a timer (with a 50 ms interval) and perform your processing in the timer event. At the end of the timer you reactivate the controls.
-
As documentation says: So, is better to use directly Update for each control after every "enabled = false". I tried and for me is working, but I really don't know if it's OK in all situation (i.e. under heavy load).
-
I don't use c++ to build interfaces, only for device interfacing. I normally use Delphi instead, but the principle is the same: when you use any property of a component (but also functions, procedures, methods, etc ...) especially graphical components, i.e. which is executed "behind" the property it can be synchronous or asynchronous. So you cannot in any way expect that your action will have an immediate response, especially with graphics. Normally the graphics have a lower priority level (let's call it that) than the standard code and it is still unlikely that the graphics will be able to follow the code in real time (and it doesn't even make sense normally). To clarify the situation better, I present the use of the "SendMessage" and the "PostMessage". Both perform the same function, i.e. send messages to the queue.... but while SendMessage "makes sure" that the message is deposited and returns to the caller only after the message has been deposited in the queue (synchronous operation with your code), PostMessage instead sends it to the queue and returns immediately, without making sure that it is actually in the queue (the message will arrive in the queue asynchronously with respect to your code). With SendMessage at the next line of your code it is certain that the message is present in the queue, with PostMessage it is not certain (and no time prediction can be made) that the message is present at the queue of the next line of your code.
-
You can start from here: https://github.com/IndySockets/Indy/wiki/Updating-Indy
-
Even if you disable Windows Update policies, the updates imposed by Microsoft will still be carried out. This is certain in the latest version of Windows 11 Pro. I have lot of PC with the policies disabled and all of them do sometimes some upgrades.
-
Datasnap Server doesn't response after awhile?
DelphiUdIT replied to Mustafa Simsek's topic in Network, Cloud and Web
Which operating system are you using? For TCP/IP connections, there are limits on the number of available IP ports and the number of concurrent connections. If you have a high connection/disconnection speed, you may run out of available ports as they may all be in the TIME_WAIT state. But it could also be that the "used" and released ports are not reused "immediately" and therefore the server "stops" when the range of available ports has run out. Look this https://learn.microsoft.com/en-us/answers/questions/482793/tcp-ip-concurrent-connections -
You can try PasLibVlc, is a wrapper around VLC made in Pascal. https://prog.olsztyn.pl/paslibvlc/
-
Call for Delphi 12 Support in OpenSource projects.
DelphiUdIT replied to Tommi Prami's topic in Delphi Third-Party
If I'm not mistaken, nothing can be publicly distributed that is developed with the Beta stage environment. And on the other hand, until it becomes public (ie sold publicly by Embarcadero) it doesn't make much sense to do anything. Any features could change at the last moment and therefore frustrate the work done (as well as producing unusable libraries). -
I think that with regular account (subscription active) you cannot use CE.
-
I speak in practical terms, beyond the legal terms of the license. The CE is on a time basis. It must be renewed every year. In particular, it is no longer possible to renew 10.4 CE and it is necessary to "move" to 11.3 CE. At the end of the annuity, the development environment ceases to operate and can no longer be used, neither for new nor for existing projects. In general projects developed with 10.4 can be ported to 11.3 without much effort, with the exception of third-party components where without source or developer support it is not possible to use them. Obviously then it is necessary to check the legal terms of the new 11.3 CE to see if they are compatible with what we do.Insert other media Bye
-
Algorithms. Irrational numer storage.Playing with 6 axis robot.
DelphiUdIT replied to skyzoframe[hun]'s topic in Algorithms, Data Structures and Class Design
Pi was an example, I meant using an "irrational" number with a float, i.e. increasing the number of significant digits in the calculation...at least I think that's what @skyzoframe[hun] wanted suggestions on. -
Algorithms. Irrational numer storage.Playing with 6 axis robot.
DelphiUdIT replied to skyzoframe[hun]'s topic in Algorithms, Data Structures and Class Design
In my applications (even with robot guides) I also tend to use only integers (for example managing the vector of the last movement section precisely with integers), but having carried out several applications with robots I must say that often the float calculations are unavoidable, for example if you have to perform non-linear movements, perhaps using "quaternions". So it could be that the request made by @skyzoframe[hun] in this thread is legitimate and that its use is also a necessity. Bye -
Algorithms. Irrational numer storage.Playing with 6 axis robot.
DelphiUdIT replied to skyzoframe[hun]'s topic in Algorithms, Data Structures and Class Design
Apart from the controller hardware (an element that should not be underestimated), on the numerical calculation part currently in hardware the precision you can obtain is in EXTENDED (80 bit) for 32 bit software and DOUBLE (64 bit) for 64 bit software . If you want to go beyond these limits you have to use libraries that take advantage of HW + SW to increase calculation precision. I can point this out to you, even though I've never used it. https://github.com/TurboPack/RudysBigNumbers Good luck -
What @mjustin meant is that normally a custom CONTEXT is used where for each connection received additional data can be inserted, such as an ID, a particular string of marking, or any other information we need for the activity. Example: TMyContext = class(TIdServerContext) // <-- must derive from TIdServerContext public /// <summary> This is a new RefID field </summary> RefID: UInt64; ChargeStr: string; end; //Somewhere, BEFORE activate the server assign MyContext to the component begin IdTCPServer1.ContextClass := TMyContext; IdTCPServer1.Activate := True; end; //In the Connect event you can initialize the Context procedure IdTCPServer1Connect(AContext: TIdContext); var Ctx: TMyContext; begin Ctx := TMyContext(AContext); Ctx.RefID := 0; Ctx.ChargeStr := ''; end; //Now you can use the new context whereever you want
-
Delphi CE application accesses unknown IPs
DelphiUdIT replied to everybyte's topic in Network, Cloud and Web
Checking some of these IPs, you notice that they transit under "edgecastcdn.net", "msn.net" and "hwcdn.net". The first is a digital content provider (belongs to the owner of the Yahoo group), msn.net is known, hwcdn.net is the Windows update network and access is very often related to activities with Edge. I don't know the reasons because i never used TNetHttp and I don't know nothing about it (except the it exists).