-
Content Count
129 -
Joined
-
Last visited
-
Days Won
2
Everything posted by Wagner Landgraf
-
MAP2PDB - Profiling with VTune
Wagner Landgraf replied to Anders Melander's topic in Delphi Third-Party
Are you referring to the slowness of the "Resolving information" step? Any news about this? I have the same problem, it's taking more than 30 minutes and still going on... -
MAP2PDB - Profiling with VTune
Wagner Landgraf replied to Anders Melander's topic in Delphi Third-Party
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! -
Decrease Your Build Time
Wagner Landgraf replied to Erik@Grijjy's topic in Tips / Blogs / Tutorials / Videos
Are you aware of any compilation of best practices to reduce code bloat and compilation size you are mentioning here ref your refactoring? -
MAP2PDB - Profiling with VTune
Wagner Landgraf replied to Anders Melander's topic in Delphi Third-Party
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? -
You can try TMS Data Modeler: https://tmssoftware.com/site/tmsdm.asp
-
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.
-
Annoying IDE behavior changes in 10.4.2
Wagner Landgraf replied to Wagner Landgraf's topic in Delphi IDE and APIs
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. -
Annoying IDE behavior changes in 10.4.2
Wagner Landgraf replied to Wagner Landgraf's topic in Delphi IDE and APIs
Voted. But I wonder if there isn't a workaround right now, given @Uwe Raabe doesn't see this behavior. -
Annoying IDE behavior changes in 10.4.2
Wagner Landgraf replied to Wagner Landgraf's topic in Delphi IDE and APIs
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? -
Annoying IDE behavior changes in 10.4.2
Wagner Landgraf replied to Wagner Landgraf's topic in Delphi IDE and APIs
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? -
Is there an "easy" way to transfert Tlist<T> object into a Spring4D ITlist<T> ?
Wagner Landgraf replied to Stéphane Wierzbicki's topic in Delphi Third-Party
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. -
dpm Blogged: DPM Package Manager Progress
Wagner Landgraf replied to Vincent Parrett's topic in Tips / Blogs / Tutorials / Videos
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. -
simple cloud storage options
Wagner Landgraf replied to David Schwartz's topic in Network, Cloud and Web
You can check myCloudData (https://www.myclouddata.net) from TMS Software. -
RTTI: How can I SetValue or ReadValue on Record fields type
Wagner Landgraf replied to Stéphane Wierzbicki's topic in Algorithms, Data Structures and Class Design
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. -
Excellent! I'm always pleased with people that see the positive side of things.
-
Frontend: TMS Web Core (https://tmssoftware.com/web) Backend: TMS XData (https://tmssoftware.com/biz)
-
auto-generated REST APIs?
Wagner Landgraf replied to David Schwartz's topic in Network, Cloud and Web
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. -
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
-
Delphi and Parallels for Mac
Wagner Landgraf replied to Wagner Landgraf's topic in Delphi IDE and APIs
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. -
auto-generated REST APIs?
Wagner Landgraf replied to David Schwartz's topic in Network, Cloud and Web
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. -
DPM Package Manager - Progress update
Wagner Landgraf replied to Vincent Parrett's topic in Delphi Third-Party
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. -
Records, Generics and RTTI meets FireDAC
Wagner Landgraf replied to Lars Fosdal's topic in Tips / Blogs / Tutorials / Videos
Until you start using it. You are actually adding one right now. -
TestInsight 1.1.9.0 released
Wagner Landgraf replied to Stefan Glienke's topic in Delphi Third-Party
Great, now tests are uniquely identified! Thank you, I guess I'm on the right path. Congrats for the great tool. -
TestInsight 1.1.9.0 released
Wagner Landgraf replied to Stefan Glienke's topic in Delphi Third-Party
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! -
TestInsight 1.1.9.0 released
Wagner Landgraf replied to Stefan Glienke's topic in Delphi Third-Party
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.