FreeDelphiPascal
Members-
Content Count
85 -
Joined
-
Last visited
Everything posted by FreeDelphiPascal
-
I did a test - Julia vs Delphi. Julia beats the crap out of Delphi. Some code executes 7 times faster! But on the other hand, it is true: You cannot deliver a Julia monolithic app to a customer - unless that customer installs Julia and some other stuff first.
-
I did some investigation and the background compilation was the culprit.
-
I have somethimes a somehow similar error. The compiler won't see my source code changes in the IDE until I press Save.
-
Other proposals then? If we cannot do anything, then Embarcadero owns us.
-
You are right, we are going through dark ages (I would also call them sad ages). So, when are we all going to sign a petition to Embarcadero and ask for a modern Delphi that does not crash every 10 minutes, it is not stuck in the 2000 and does not have the fart-smell of an 100 grandpa? We should all promise that we won't buy next version until they really really fix it. And we want a true road map. Embarcadero should understand that they don't own Delphi. They cannot do whatever they want and when they want. We are the customers. They cannot release 12 new tiny features and pretend it worth buying Delphi 12 just for that. I mean, come on! I would be ashamed to tell my users that in the next version they will be able to write text on two lines instead of one! This is not something even worth mentioning. Presenting this like a brand new shiny feature means "Hi Delphi guys, we full around last year, then we were busy to fix some bugs that were not supposed to be there, and improve the C++ which nobody uses anyway, so for you, we didn't have much time left, but at least we did this impressive feature that lets you split your string on two lines. PS: you have to pay for it. PSS: you have to pay also for the bug fixes!". Have you seen how fast are other languages advancing? Take a look at Julia! High level language BUT in some benchmarks it beats the craps out of grandpa Delphi. And its costs... nothing! Slap a nice IDE as VS Code on top of it, and you got a nice environment. Updates? Every few weeks. I am afraid to admit it, but I think I am (we all are) in love with what Delphi was in 95, when it was indeed cutting edge. Now we are all a bunch of gray beards and bold heads. No new blood to Delphi. I haven't heard of a single new startup company that uses Delphi. All the jobs around are offered by companies that started in 90-95 with pascal/delphi. All of them hove now 2 million lines of legacy code and a desperate need of Delphi developers. I know a few of them that never-ever take down the Delphi job position because it is never filled. Or if they find a good (and pretty old) programmer every 2-3 it is not enough to replenish the big number of old programmers that now are at the retiring age. For each new programmer they put their hands on, two retires. And as the "new" programmer is close to retiring age also, it only perpetuates the avalanche. Been there, seen that with my own eyes. I was the young one there, even though I am not that young anymore. You also see the lack of Delphi programmers when the job is announced as Delphi "slash" C++. They try to lure-in some C++ Builder programmers this way. Trick them into a Delphi position. I personally try to promote Delphi. But all my kids around me (nephews, friend's children, etc) are going with the cool wave. The old PHP is getting to be the new cool kid in the town now. Internet technologies. C#. I am not saying they are better. But they are definitively "cool". Embarcadero, with all its old guys there (good guys/programmers but not in touch with the new generation, with the new ways) and with its "get the money first - give the quality later" policy is not "cool". And cool is ******** important, because you don't lure in into the language old die-hard C or ASM gurus, you want to lure in kids. My kid is having more fun with Delphi than with Scratch. But I wouldn't put him on a Delphi-career path. Not with Delphi's featured being almost sealed. Embarcadero! The time to reverse the tide is running out! Delphi opportunity window is almost almost closed! I do see some efforts from Embarcadero (some blogs, some barely-voted youtube videos, some shy promotions), and in general Embarcadero is going into the right direction. But too slow. Waaay too slow. The biggest positive move was the Community Edition. I would have paid > 1000 euros to buy a license for my kid! (I still don't have words to say how dismayed I am that Emba didn't offer a free license until few years ago!!!!!!!!!!!!!!!!!!!!!!!!!!!) Wellllll..... In theory, I should shut up and relax, and fave fun with Delphi until my retiring age comes. I never ever had problems getting income with Delphi. But I love Delphi too much. It will be such a shame for Delphi to get retired the same day I retire! I do the same! I never use a new released feature in the first 3-4 years. I wait for it to get ripe and stable. 🙂Well, some things like "skins" (styles), 64 bit compiler, obviously took more than 3-4 years. FMX, still way to go... How many years ago they announced first time that Delphi has support for high DPI? Today, I can't still build decent high dpi apps in Delphi. I personally, won't buy a new license until I get a usable version to worth the price. It simply not fair to pay for bug fixes. My users will laugh at me if I would dare to ask money for a showstopper bug that was not supposed to be there. I always said (joking) that if Emba will release one-single-true-stable-version they will get out of business because everybody will buy that version (remember Delphi 7?) and lock into it. Nobody will upgrade to the next version for 8-12 years (unless the next version is as good as the other one). I am kinda doing that with 10.4.
-
Ok. This really made my day! The best replica on the whole forum. I should put it in my signature. _____ Maybe we should ALL skip buying Delphi 13 if it is still buggy. And the next versions....... Until they finally release something usable.
-
I tried to install Delphi 11.3 using the silent installer. I extracted the exe and the gof files from the ISO and put them in a folder. The problem is that the silent installer started to download all the stuff from the web (took a bit under 1 hour to finish). The documentation is very poor. It only says: "Silent Install is available for offline and online installation. In the offline installation, there is a GOF file and the setup executable. In the online installation, there is a setup executable and an automatic download of the required packages in the background." Issue: It installs EVERYTHING! This is my command line: radstudio_11_esd_113236a.exe /SILENT /NORESTART /LOG="Log.txt" /FEATURES=delphi_windows;samples;help;dunit;interbase_express;interbase_2020 For this command line, it also installed CBuilder, which, as you can see, is not in the list. I have a feeling that the order in which the parameters are listed is relevant! Update: I changed the parameter order. It still installs everything. Issue: It installs from the web In the "DOS" box, it says "downloading...". Maybe it is only saying that, and the installation is so long because it installs ALL possible packages and CBuilder? Has anyone seen the same behavior? Is the new silent installer (D11) broken? It worked for D10.4.
-
Installing Delphi silently
FreeDelphiPascal replied to FreeDelphiPascal's topic in Delphi IDE and APIs
https://quality.embarcadero.com/browse/RSP-43460 -
Yes. That one. Sorry about the unclear statement.
-
Are you kiding me? Pay thousands of $ to get all those tiny featues? Especially that some of them (like multi line strigs or colored lines between begin/end) were already availalbe since 100 years ago via IDE plugins.
-
You are right. There are 28 years since first Delphi. After all this time, should we still hope that we will ever have a stable version? (IDE, RTL, VCL, compiler, even cross-platform stuff and EVEN FMX) We keep renewing the licenses in order to get a better/stable version that fixes some specific bugs that hunt us, only to discover that new bugs plague the new version. So, next year we have to upgrade again. GREAT MARKETING GIMMICK!
-
Design of client/server application
FreeDelphiPascal replied to FreeDelphiPascal's topic in Network, Cloud and Web
> None of them are relevant to you. It is the "pulse". WebDAV seems to fall out of grace? I don't know... But I think it is smart to take the "pulse" of a technology before you use it. > What would a user do with a list of "thousands of files and folders"? Better think about size upfront, than later. I don't want to say to my users, "sorry you cannot create more than 100 files because I haven't thought about that, some years ago". And I can actually see some users gathering thousands of files per year - could be 10-100 users per group. To be on the safe side, and looking 10 years AT LEAST into the future, the program should easily handle 50000 items (files/folders), per group, per year. Again, this would be the extreme case... but better be prepared... Anyway, in my single-user version, all the information is in a tree view. But considering how much data is to transfer, I should change to a Windows Explorer view. Thanks for the insight! > it sounds like you are rubber-ducking a bit here In a way yes, in a way no: Yes: I know what I want, I want to see how I do it. But, yeah, I could change my requirements slightly if I find that an existing technology (like WebDAV) could easily offer what I need, EVEN if there might be some minor drawback. I might slightly change my requirements based on the technology used and I might choose the technology based on the requirements. It is a bit circular. No: As I said, the single user version exists. And my requirements are pretty clear (and described in the original post). Don't you think? I know, for example, that I need files and folder. How I transmit this info to the user could dramatically change based on the technology I use. Duck or not, I am flexible as a rubber 🙂 That's good, right? 🙂 ________ Anyway, I haven't dismissed the WebDav yet. If it does not fully lock the document, then it is still viable to me! Update: There seems to be a 50MB limit per file in DAV (ha ha that should have been a huuuuge number for 1996). But it seems it can be changed. -
Design of client/server application
FreeDelphiPascal replied to FreeDelphiPascal's topic in Network, Cloud and Web
Thanks, Pat. Exactly. I was considering exactly that! Imagine a user goes 2 weeks in holidays and he/she forgets to unlock a file. Or a user needs to work but the information it needs is in one of those locked documents, locked for 1-2 hours, or god knows how much.... I am not criticizing WebDav, I just think my requirements are a bit more demanding.... __ @Anders. I think WebDev is cool, but it might not fulfill my very specific requirements. In my app, in theory, all the users of a top folder can see down on lowerfolders. BUT could be also the case that each file/folder has a VERY SPECIFIC list of users that can read/write the documents. So, you could prevent "top users" from seeing lower files. Additionally, to that list of users, I need a "master" user that "owns" the folder and its documents. It is pretty much like the permissions of the NTFS. I have yet to see if WebDev allows this kind of user access. I also see a problem with the speed if you have thousands of files and folders. I don't know how much is webdev like ftp, but navigating via FTP through a dense structure of files/folders can be quite slow. I am considering sending the whole folder tree to the clients. Fortunately, the users are split to groups (a group is like a "root" but I can have multiple of these groups/roots). I only have to send them the folder structure of a single group. I don't expect the users (probably I won't even allow it) to move files around. The work will be mostly done inside the files (RTF). I am thinking about splitting the document in multiple RTF sections and locking only one section. I could get something like Google Documents where multiple users edit the same doc in parallel. My idea is to give to each folder/document a unique ID. The client could use these IDs to ask for a specific document (or document section) from the server. __ Considering how little I know about Indy, I am afraid to start this project 😞 I could easily f*ck up the architecture 🙂 So, please keep sending your considerations. The application is already implemented, but for single user. I expect to be 20x more complicated to make it multi-user. -
Design of client/server application
FreeDelphiPascal replied to FreeDelphiPascal's topic in Network, Cloud and Web
Sorry. I took only one snippet, but you can find many _____ I will look anyway if Indy has support for it. Just informational, in the beginning 🙂 Update: it seems there is: https://stackoverflow.com/questions/8966787/getting-webdav-content-via-delphi-and-indy-10-tidhttp But thank you very much for pointing to it. I never had a clue it exists. -
Design of client/server application
FreeDelphiPascal replied to FreeDelphiPascal's topic in Network, Cloud and Web
I don't think I need to implement the full protocol in Delphi/Indy. I don't want/need to be compatible with other WebDav programs. But I can learn from it! Thanks! -
Design of client/server application
FreeDelphiPascal replied to FreeDelphiPascal's topic in Network, Cloud and Web
I thought about that. When the second client opens the document (in read-only mode) it will be informed that the document is being changed by somebody else (big red label on top of the form). The idea is that I don't want to prevent the second client from reading the information in the document. This will block his work/progress. In most cases, the first user will mostly add content at the end of the document, not change the old content. -
Parallel Resampling of (VCL-) Bitmaps
FreeDelphiPascal replied to Renate Schaaf's topic in I made this
Is the code posted on GitHub or on some official website? I got the zip from the first post, but I don't know if that url has always the latest version. -
Hi. I used to use in my program this great component called TFoldPanel. It was for Delphi 1 to Delphi 3 but still works today. (Isn't great when a great programmer makes a control so great that it still works today under Delphi 11?) When you click the chevron (first image, left side), the whole panel, with everything inside collapses (image 2). However, it has a big problem: it does not support skins (VCL styles). (image 3 - the panel should be black) Does anyone know a similar component?
-
The fix is not perfect. still needs improvements. but it works for the moment. Plus, a similar change needs to be done to change the separator line (divider). procedure TPaneles.Paint; var Rect: TRect; FontHeight: Integer; const Alignments: array[TAlignment] of Word = (DT_LEFT, DT_RIGHT, DT_CENTER); begin if StyleServices(Self).Enabled //mine then Color:= TStyleManager.ActiveStyle.GetSystemColor(clBtnFace); //mine
-
This free lib has support for inserting images in RichEdit: http://www.micrel.cz/RxLib/dfiles.htm
-
Fixed 🙂 (Still, if anyone knows a modern component like this.....)
-
I am just lazy. Replacing the control with an existing control will take way less time. As I said, the code has lines of code specific for Delphi 1/2/3 (conditionals). Anyway, I am in the source code now, chin-deep 🙂
-
Parallel Resampling of (VCL-) Bitmaps
FreeDelphiPascal replied to Renate Schaaf's topic in I made this
Sorry. My question was maybe not very clear. I am talking about decoding multiple JPG files in parallel. Maybe in a pool of threads equal to the number of cores... -
Delphi TOIOBE index lifted in May 2022?
FreeDelphiPascal replied to wuwuxin's topic in RTL and Delphi Object Pascal
Are Tiobe's results relevant/accurate? No Is Tiobe Index page visited by LOTS of people? Yes. (Many acquaintances, when I tell them that I work in Delphi, they ask me where Delphi is situated in Tiobe). So, as I said: " because of the publicity." -
Autosave the state of the GUI to disk on app shutdown with one function call
FreeDelphiPascal posted a topic in I made this
I published recently my Delphi libraries. It features all kinds of goodies, among them: * Saving the state of the GUI at application shutdown and then restoring it at application start-up. Just call SaveForm() and LoadForm(). That's it. * An extension for the TApplication class ResurectInstance(CONST CommandLine: string); InstanceRunning: Boolean; SetSingleInstanceName(var Params: TCreateParams); Initializing: Boolean; { Set it to false once your app finished initializing (usually after you finished creating all forms). Used in cvIniFile.pas. } CurFolder: string; //Old name: AppDir SysDir: string; IniFile: string; AppName: string read FAppName; AppDataFolder(ForceDir: Boolean= FALSE): string; AppDataFolderAllUsers: string; AppShortName: string; LastUsedFolder: string read getLastUsedFolder write FLastFolder; RunningFirstTime: Boolean read FRunningFirstTime; { Returns true if the application is running for the first time in this computer } Restore; Restart; SelfDelete; RunSelfAtWinStartUp(Active: Boolean): Boolean; RunFileAtWinStartUp(FilePath: string; Active: Boolean): Boolean; SetMaxPriority; HideFromTaskbar; GetVersionInfo(ShowBuildNo: Boolean= False): string; RunningHome: Boolean; BetaTesterMode: Boolean; * Lots of string processing and IO utilities. * Many other goodies (a total of 164 pas files). In the last update, I added another sublibrary (graphic utilities) and support for self-translating forms. This is an RTTI-based automatic translation engine for Delphi. It will translate all GUI strings (for example TLabel.Caption, TLabel.Hint, TMenuItem.Caption) for all live forms in your application. The text is stored in an INI file which can be sent to DeepL or GoogleTranslate for translation (this last part has yet to be implemented) - but it will come soon. You only need to call one procedure in order to have your app translated into multiple languages (until the Google Translate module is implemented you have to provide of course the translation files). All modules up to (and including) Graphics are available. The rest will come as I have time. The whole library is free on GitHub. Waiting for feedback. Enjoy.