Jump to content

Leaderboard


Popular Content

Showing content with the highest reputation on 10/14/19 in all areas

  1. dummzeuch

    Interesting article about dying languages

    You mean "doing something with computers" is useful? If you really wanted to learn something useful, you should have learned gardening, masonry or carpentry. 😉
  2. Alberto Miola

    New section for native apps

    I have been talking with Yaroslav Brovin recently (the creator of FGX native) and this project is going to be in public beta at the beginning of 2020. Would it be a good idea to make a section for it? If not now at least when the beta starts. FGX native will be an add on for the Delphi IDE This is a webinar unfortunately only in Russian; btw this will work for Android only at the beginning, iOS will come later. I attach some pictures of the documentation. More info on FGX are here: http://fire-monkey.ru/forum/370-native-fgx/ (use https://translate.yandex.com/ which is a good russian-english translator)
  3. David Heffernan

    The beauty of class and record helpers

    You can implement a helper the way you expect, but mutating methods on value types is troublesome. Imagine passing such a type as a const param and then calling such a method. Because Delphi lacks const methods (as found in C++), such things cause havoc.
  4. PeterBelow

    PopMenu two levels down..

    Did you remember to set the PopupMode property of your modal forms to pmAuto? What you describe sounds like a Z-order problem. But I see from the newer messages that the problem spontaneously resolved itself. It always makes me nervous when that happens in my projects...
  5. Stefan Glienke

    Unit testing cross platform code

    https://stackoverflow.com/a/9006662/587106 Nowadays I suggest using https://bitbucket.org/sglienke/spring4d/src/master/Tests/Source/Spring.Testing.pas which adds the functionality mentioned in the SO answer but better than at that time and implemented in DSharp back then. Two features that I personally never needed so far but that DUnitX can do which DUnit can't do out of the box are: standalone testcase classes (i.e. not inheriting from TTestCase) and per fixture setup - can also be plugged onto DUnit. There might be other subtle features of DUnitX that I am not aware of but I am very sure that they could be added to DUnit either by inheriting or by modifying TestFramework.pas (the latter was one of the reasons Vincent rather rolled his own iirc)
  6. Stefan Glienke

    Unit testing cross platform code

    Everything that DUnitX does can also be achieved using DUnit (with some minor adjustments or extensions) which then makes tests that don't use features that require Delphi2010+ such as attributes still work in older versions or existing DUnit tests can be kept and just improved using new features when moving to newer Delphi versions.
  7. Uwe Raabe

    PopMenu two levels down..

    I often get the impression that our computers already established some form of artificial intelligence, but for some unknown reason it usually turns out to be a mean one.
  8. Sherlock

    Interesting article about dying languages

    I knew my job should have been "son". But nooo, I had to go and learn something useful.
  9. Lars Fosdal

    How to get Linux installed?

    It is truly tragic that Linux is not available for the Pro SKU. It should even have been in the Community version IMO. Imagine the potential plethora of code coming from open source projects.
  10. Uwe Raabe

    Interesting article about dying languages

    Perhaps that big company is run by the fathers of those Tom, Dick an Harry and they trust their kids more than the experts?
  11. Uwe Raabe

    PopMenu two levels down..

    Is this VCL or FMX? Which target platform? Can you provide a minimal example showing that?
  12. FredS

    Add a system-menu item to all applications?

    Some of Hooks-Made-Easy updated and now on GitHub.
  13. Rollo62

    Interesting article about dying languages

    Nice visualization. Like always with such statistical data one should ask where does this come from ? How does GitHub evaluate "popularity" ? Isn't "popularity" just high because you can do small tasks easily ? Maybe such popularity index must be weighted against the complexity of projects as well. This also gives a clue to what developers maybe really like, as its seems to be a kind of simplifications in the language itself (JS amd Python). Anyhow, I don't really agree on this, as typed languages has a much practical benefits. Easy-to-learn is maybe not the only core feature of popular languages. From my experience, the languages are more or less irrelevant, but the libraries and frameworks do. I like all C languages, because they are "readable" for me, as C++ developer, although there are still many different features in each of them. Aren't JS/Python not only that popular because of their fantastic libraries and frameworks out there ? For me the key benefit of a language is not to support all small features like Nullable or Inline variables (nice to have, but not mission critical), but most important for me are stable and effective frameworks (VCL/FMX), encapsulating the complexity of the real world underneath. Regarding Delphi I would like to ask: Why can't I use ALL the core libraries of the modern OS, like beacons, sensors, ARKit, etc. etc. at 100% yet ? If so, there would be no need to move to Swift, JS or C#, only because I need to solve a special task, unreachable from FMX right now. Same for VCL and WinRT, but the situation is much more relaxed there, from the history of Delphi. Maybe I'm wrong, and there are different opinions for sure, but I would put most efford on building infrastructure and quality around libraries, instead of trying to follow the last hype in language theory. The "ease-of-use" is not by leaning only 20 keywords instead of 40, but to be able to use powerful libraries that encapsule all OS features in a nicely, cross-platform way, which are easy to learn, self-explaining, consistent, powerful and error-free. Furthermore to have powerful debugging tools as well, around this infrastructure.
  14. Remy Lebeau

    UCS4Strings

    Despite its name, UCS4String is not actually a native string type, like (Ansi|Raw|UTF8|Unicode|Wide)String are. It is just a dynamic 'array of UCS4Char', so a null UCS4Char is added to the end of the array to allow for null-terminated-string semantics, ie you can type-cast a UCS4String to PUCS4Char and iterate the string up to the null terminator, just like any other null-terminated P(Ansi|Wide)Char string. UCS4String was introduced way back in Delphi 6 (when UTF8String was first added as just an alias for AnsiString), so it couldn't be added as a true native string type back then. They never made UCS4String into a native string type, even though the RTL is now flexible enough to support a native string with 4-byte characters. All of the necessary plumbing was added in Delphi 2009 when UnicodeString was first introduced and UTF8String was turned into its own unique string type. UCS4String could easily be made into a native string type now, if they really wanted to. They probably haven't done so yet because UCS4String is very seldomly used by anyone, so they likely didn't want to waste development resources on it. Yes, because Length() is simply returning the full array length, which includes the null UCS4Char at the end.
  15. David Heffernan

    UCS4Strings

    I've not ever looked at this function but it's not hard to see what must be going on. There is no 4 byte string type. So you'll be getting a dynamic array back. And there will be a null terminator as there is for all non short string types. But since there is no compiler support for treating the type as a string, you just get the dyn array length function, which counts the null terminator.
  16. Lars Fosdal

    Interesting article about dying languages

    https://larsfosdal.blog/2019/10/10/most-popular-programming-languages-1965-2019/ Stumbled on a nice video showing the rise and fall of Pascal and Delphi. That said, like Cobol, Delphi will take a looong time disappearing.
  17. Rollo62

    Delphi 10.3.2 with Xcode 11 and iOS 13?

    I've just tried my proposal on a Mojave VM, which I updated to Catalina. 1. With old Mojave Mac: Copy and backup ApplicationLoader from the OLD installed XCode package. Right click at XCode and select Show package content 2. Get he AplicationLoader app from here 3. Application loader is an self-containing app 4. Compress the app to ZIP file (this I needed to do, because I had issues to copy the .app onto my server) (Maybe this is again some strange security issue of big A) 5. I could copy the ApplicationLoader locally w/o problems, e.g. to the Macos desktop. 6. Upgrade Mojave and install Catalina (I removed and cleaned up XCode completely, except my copy of ApplicationLoader of coarse),. 7. Now I have Catalina, and I can start ApplicationLoader from old XCode. All seems to work nice and smooth, I didn't made a real upload yet, but I uploaded an old app and got the usual messages, after checking with iTunesConnect. Seems to work fine, probably still OK for a while ( Catalinas lifetime ??).
  18. The -x-cgo is an experimental option and it is broken for Delphi 10.3. It works for older Delphi versions. The newest IDE Fix Pack development snapshot fixes this problem.
  19. Remy Lebeau

    Catalina is out, what will happen to the PAServer?

    On Catalina, you can use PAServerManager instead of PAServer directly, but do note that PAServerManager does have one known issue, at least: RSP-26374: PAServerManager on macOS Catalina don't store its config
  20. dummzeuch

    Interesting article about dying languages

    As far as I remember these popularity curves are percentages of all programmers, so if the total number of programmers rises and the number of programmers that use <language> stays constant, the popularity curve for <language> falls.
  21. PeterPanettone

    Add a system-menu item to all applications?

    Are there any grown-up people here?
  22. Given how many developers have got problems understanding how a distributed version control system works, I doubt that non technical people will understand it. And given how many times I personally had problems resolving git oddities (probably due to my own limited understanding of it), I doubt that you will do yourself a favor implementing this with git. This will most likely become a support nightmare, especially in my experience with the attitude of sales people towards IT and software developers. (They regard them lower than plumbers because in contrast to sales who earn the company lots of money IT only costs the company money and gets always into the way.)
  23. Doesn't sound very much like dvcs is what you need. Sounds more like a central database is what you need.
  24. Arnaud Bouchez

    Linux Support on Pro Edition

    We use FPC for Linux server-side development, cross-compiling via Lazarus from Windows via https://github.com/LongDirtyAnimAlf/fpcupdeluxe/releases Then we use https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux to run the executable as console with no VM, and validate the regression tests quickly and efficiently. Even if FPC/Lazarus is Open Source, its compiler is very good. IIRC the Delphi for Linux compiler uses ARC, which could become a real PITA to debug for memory leaks for a server application. At least, FPC has a single memory model on all targets. See http://blog.marcocantu.com/blog/2017-february-delphi-linux-compiler.html for this platform limitations/requirements.
×