Jump to content

Wagner Landgraf

Members
  • Content Count

    128
  • Joined

  • Last visited

  • Days Won

    2

Everything posted by Wagner Landgraf

  1. Wagner Landgraf

    MAP2PDB - Profiling with VTune

    Works great here as well, just tested! Thank you @Anders Melander, for this awesome work. There is a big chance I can will ditch AQTime now!
  2. Wagner Landgraf

    Decrease Your Build Time

    Are you aware of any compilation of best practices to reduce code bloat and compilation size you are mentioning here ref your refactoring?
  3. Wagner Landgraf

    MAP2PDB - Profiling with VTune

    Very interesting tool, I believe it opens lots of possibilities. I use AQTime and Sampling Profiler, is anyone able to tell the differences and advantages of VTune compared to those two tools?
  4. Wagner Landgraf

    ERD tool needed!

    You can try TMS Data Modeler: https://tmssoftware.com/site/tmsdm.asp
  5. I wonder if someone notice these "minor" but really annoying changes in IDE behavior in 10.4.2. This really decreases productivity significantly when you sum up the small things. 1. Interface/implementation navigation a) When you navigate from method declaration in interface to method implementation, using Ctrl+Shift+Arrow Down, the IDE goes to the implementation, but cursor is now located in the procedure/function declaration, not in the first line of the implementation (after begin). Thus, if you want to start coding, you have to press down key several times (especially if you have lots of local variables declared) just to get to the first line of code. b) Also when navigating to implementation, the cursor is now located in the middle of the editor, instead of top. Thus, you only see "half" of the implementation code that would you see if the cursor is located in the top of editor. 2. Forward class declaration navigation When you control-click a forward class declaration like TMappingExplorer = class; It won't navigate anymore to the actual class declaration. I wonder if you noticed the same and you know workarounds. The only one I found was to disable new LSP but this brings lots of stability issues, besides not having the new LSP features, obviously.
  6. Wagner Landgraf

    Annoying IDE behavior changes in 10.4.2

    LSP is now way better than the previous one. And it looks like Embarcadero is just not touching the old one anymore, so for example I see IDE crashes in some situations with the Classic code insight, and I'm afraid that will never be fixed now. Installing MMX "solves" the issue temporarily, until they hopefully fixes that in 10.5.
  7. Wagner Landgraf

    Annoying IDE behavior changes in 10.4.2

    Voted. But I wonder if there isn't a workaround right now, given @Uwe Raabe doesn't see this behavior.
  8. Wagner Landgraf

    Annoying IDE behavior changes in 10.4.2

    Using same exact version: Embarcadero® RAD Studio 10.4 Version 27.0.40680.4203. No IDE plugins installed, only components. The fact you can't reproduce is really intriguing, it might mean there is some settings that "fix" this behavior? Or maybe your IDE plugins are affecting it?
  9. Wagner Landgraf

    Annoying IDE behavior changes in 10.4.2

    Weird. How did you test it? Using latest Delphi 10.4.2 Sydney, you can do just this: 1. Create a new VCL blank application 2. Double click the form to create a FormCreate event handler. Cursor is located between begin..end lines (line 27) 3. Press Ctrl+Shift+Up. Cursor goes to FormCreate declaration in interface section (line 11) 4. Press Ctrl+Shift+Down. Cursor goes back to FormCreate implementation, but now cursor is in procedure line (line 25), not between begin..end lines You don't see that behavior?
  10. That's for sure. We could even use more things and types from Spring4D. The main problem, actually - besides some time to integrate - is the deploy of it. Installation is already complex, it's rather complex to add Spring4D as a dependency, worse, as an optional dependency. That's why I'm really looking forward to @Vincent Parrett's DPM, when it's ready, we could deploy several different packages, and it will just download and install whatever dependencies it needs.
  11. Wagner Landgraf

    Blogged: DPM Package Manager Progress

    This is an amazing project, congratulations. I wanted to contribute but I just didn't find time to do so. This is the future for Delphi dependency manager and will bring a revolution to Delphi development if the library builders adopt it. I have the intention to do so.
  12. Wagner Landgraf

    simple cloud storage options

    You can check myCloudData (https://www.myclouddata.net) from TMS Software.
  13. In the case of TMS Aurelius Nullable type, specifically, there are helper methods for you to use that do the job for you. It's TMappingExplorer.GetMemberValue and SetMemberValue. Here is some info: https://support.tmssoftware.com/t/how-to-get-a-property-by-its-name/7777/2 But in general, you do what @Attila Kovacs mentioned: get the whole record, modify its fields via RTTI, and then set the record back to the field/property. That's what Aurelius does.
  14. Wagner Landgraf

    How create a website whit Delhpi

    Excellent! I'm always pleased with people that see the positive side of things.
  15. Wagner Landgraf

    How create a website whit Delhpi

    Frontend: TMS Web Core (https://tmssoftware.com/web) Backend: TMS XData (https://tmssoftware.com/biz)
  16. Wagner Landgraf

    auto-generated REST APIs?

    I will not get into an architectural discussion or in a feature discussion, it's out of the scope of the topic. It's a tool that anyone can use if they want. It's not SQL SELECT, there is no injection, it's more secure. Yes, you can do complex authorization mechanisms. Finally, that is not "XData", but one of XData tools. If user wants, he can simply choose not to use it, and do a 15-tiered application without any client-side logic. I'm just answering the OP question.
  17. Wagner Landgraf

    Delphi and Parallels for Mac

    Hi, is there anyone here using Delphi with Mac using Parallels virtual machines? I've recently migrated from VMWare to Parallels - and very happy for it, it's noticeable faster. However, I'm having a small but annoying issue that didn't happen in VMWare: whenever I try to scroll the source code using the mouse scroll (trackpad, in this case), it goes too fast. It's interesting to note that when scrolling up, it works fine. When scrolling down, it goes too fast. That only happens in this virtual machine, only with Parallels, and only with Delphi - no other Windows applications behave like that. I have also know another person who uses it like that, and he has the exactly same problem. From some Parallels forum posts, it looks like it happens to other as well. Thus, I believe this happens to everyone using Delphi with Parallels, and I believe given the number of Delphi users here, some DelphiPraxis forum members might also be in the same situation. So I wonder, does it happen to you as well? If yes, have you found a workaround, or have you just accepted it as a fact of life? Some references: https://forum.parallels.com/threads/smooth-scrolling.346361/ https://forum.parallels.com/threads/trackpad-scrolling-is-too-fast-and-frequently-uncontrollable.346338/page-2 https://stackoverflow.com/questions/59163058/how-to-make-delphis-ide-scroll-correctly
  18. Wagner Landgraf

    Delphi and Parallels for Mac

    No luck here. Big Sur, Parallels 16.1.1, using external trackpad (or MacBook trackpad, doesn't matter), changed mouse and keyboard settings to auto-detect, or gaming, or no gaming, everything is always the same.
  19. Wagner Landgraf

    auto-generated REST APIs?

    TMS XData does that. These three videos show it in details: https://www.youtube.com/watch?v=AZs9e2DNXdI https://www.youtube.com/watch?v=e31Co9Fv3YY https://www.youtube.com/watch?v=QvgS8pjpfkk This has nothing to do with executing arbitrary SQL statements. It's regular REST endpoints. Regarding being 1:1 with underlying db system, in my opinion it depends. As someone mentioned here, you might need an "inner" use in which this is not a problem. Or, you might use it for simple entities like a list of countries or something like that. So for example use it for simple or non-critical entities, and then implement DTOs and specific business logic for more complex or critical business operations. Like anything, it's just a nice tool which is available. Use if it's helpful for you.
  20. Wagner Landgraf

    DPM Package Manager - Progress update

    Hi Vincent, That's excellent. I just could not find enough time to keep contributing as I'd wish, but I'm still interested in your project. Design-time packages is a must for me though, since almost all my libraries install design-time tools in the IDE. Looking forward to how DPM will solve it.
  21. Wagner Landgraf

    Records, Generics and RTTI meets FireDAC

    Until you start using it. You are actually adding one right now.
  22. Wagner Landgraf

    TestInsight 1.1.9.0 released

    Great, now tests are uniquely identified! Thank you, I guess I'm on the right path. Congrats for the great tool.
  23. Wagner Landgraf

    TestInsight 1.1.9.0 released

    Ok. Reading the code I think TI is just not prepared for it. In many places you consider the test name to be ClassName + TestName, as in: function GetFullQualifiedName(const test: ITest): string; begin Result := (test as TObject).ClassName + '.' + test.Name; end; Also, TTestInsightListener.StartSuite and EndSuite are not implemented, and I believe that's what would allow a tree-like structure in the IDE plugin. I also don't know how the plugin handles the information sent to it, but from what is available in TTestInsightResult and no StartSuite/EndSuite information I believe it's not trivial to show the results reflecting the original tree structure. Thanks for your help!
  24. Wagner Landgraf

    TestInsight 1.1.9.0 released

    I tried it again, I must be doing something wrong. This is what I get when I run it for the first time. Some warnings: And then remaining tests passed. The tests that are not replicated and grouped by database: And the tests that are supposed to be replicated and grouped by database: If I click "group by type" it doesn't help much: Finally, I must say that all tests were run in the first place. Note that what I do is to run the application with Ctrl+Shift+F9.
  25. Wagner Landgraf

    TestInsight 1.1.9.0 released

    The tests are organized more or less this way (never mind some unfriendly names): As you can see, there are several setups (NativeSQLite, FireDacMSSQL, etc.). For each of then, there is a test suite named "TTestBasicCriteria" for example, with several test methods. This is all setup dynamically by a code like this, which gathers all registered "Aurelius tests" and then create the proper DUnit tests based on it: // Wrap all registered tests into a single test setup for initial set up and final tear down } for Setup in AureliusDBSetups do begin testconfig := TTestConfig.Create(Setup); DBTest := CreateSuiteFromConfig(testConfig, Setup.Name); RegisterTest(DBTest); if Setup.RemoteDB then begin testConfig := TRemoteDBTestConfig.Create(Setup); DBTest := CreateSuiteFromConfig(testConfig, Setup.Name + ' - Remote'); RegisterTest(DBTest); end; if Setup.GenericDB then begin testConfig := TGenericDBTestConfig.Create(Setup); DBTest := CreateSuiteFromConfig(testConfig, Setup.Name + ' - Generic'); RegisterTest(DBTest); end; end; You can also see some of the test cases are not replicated among all databases, because it doesn't make sense - like TTestMemoryDataset, for example.
×