Jump to content

Uwe Raabe

Members
  • Content Count

    2839
  • Joined

  • Last visited

  • Days Won

    168

Everything posted by Uwe Raabe

  1. Have you considered keeping the number of direct committers small and let the majority of interested participants provide their contributions via pull requests?
  2. No, at least not necessarily - unless you only have one core. The OS thread scheduler will take care of running it on whatever core is available.
  3. Uwe Raabe

    Is a number in a string of numbers??

    If you make use of some newer features of the RTL you can also write: uses System.SysUtils, System.StrUtils; function ListContains(const PList: string; PNumber: integer): boolean; begin Result := MatchStr(PNumber.ToString, PList.Split([';', ','])); end; An advantage is the simple support for additional separators.
  4. Perhaps we should forward this to @Daniel
  5. This has already been brought up right at the start of this forum. If it were just a simple setting to be changed, I am pretty sure it would have been accomplished long ago.
  6. The Delphi streaming system knows that it handles TComponent descendants only. That way it can create each instance calling <SomeComponentClass>Create(<Owner>). In contrast TJSONUnMarshal.ObjectInstance works on any class having a parameterless constructor. It cannot rely on TObject.Create for that as it is not virtual. So the mechanism behind both approaches is totally different. I just wanted to emphasize that.
  7. Yes, but it only works for components because TComponent has a virtual constructor.
  8. Uwe Raabe

    Delphi 10.4 missing XML Data Binding

    The XML Mapper can be installed via GetIt. Edit: Can you explain what doesn't work in XML Mapper?
  9. Uwe Raabe

    Fill Class Variables from a table row??

    Exactly! And vice versa.
  10. Uwe Raabe

    Dragging GExperts windows show too large

    Could it be related to the scaling value being 125%? I also cannot see that OI problem with 150% scaling. With multiple monitors having different scales it may even depend on the scaling of the primary monitor if different from the one the IDE is located.
  11. Uwe Raabe

    LangMan for Delphi

    The download page offers a Personal Edition which seems to require just a registration.
  12. Uwe Raabe

    GridPanel

    Try setting both to 0.
  13. Uwe Raabe

    Fill Class Variables from a table row??

    I don't really understand. What do you mean with adding variables dynamically? Fields inside classes have to be known at compile time. Otherwise a construct like if MyCompanyData.mlcApplicationGlobalEmails then ... would not compile. The order of the field in the class doesn't matter at all. Basically LoadInstanceFromCurrent iterates all the fields and properties in the class and looks if there is a corresponding field in the dataset its value is assigned to the field of the class.
  14. Uwe Raabe

    Fill Class Variables from a table row??

    I have slightly changed the CompanyData unit to get rid of the many class vars in favor of a singleton implementation. Instead of TCompanyData.mlcApplicationGlobalEmails you should write MyCompanyData.mlcApplicationGlobalEmails. With this change you can make use of the DataSetHelper unit mentioned above. You only need to use that unit inside your data module and load the customer data like this: Company.Open; Company.LoadInstanceFromCurrent(MyCompanyData); Company.Close; CompanyData1.zip
  15. Uwe Raabe

    Fill Class Variables from a table row??

    Yes, there is. I blogged about it here: Dataset Enumerator Reloaded. The latest sources can be found on GitHub: https://github.com/UweRaabe/DataSetEnumerator. You may need to remove the class var, because the sources are to be used with instance fields. Is there a special reason for using class var?
  16. Uwe Raabe

    Remote Delphi developer position

    This isn't only just ridiculous, it is getting really annoying.
  17. Well, without the information about how the data is expected, you will have hard time to find advice here. The swagger description and example of the endpoint you are trying to reach with POST would be sufficient. We don't need access to the whole documentation or even the web service.
  18. I have done that for quite a couple of web services. The critical information is a description of the web service. Regarding your specific 403 problem it is necessary to find out how the data is expected by the service. Do you have some reference for that at hand?
  19. Yes, it reports that warning:
  20. Agree. I prefer Pascal Analyzer to get notified about problems like the one this thread is all about. In contrast to the compiler, eliminating all warnings from Pascal Analyzer is not the goal. If I don't want to get notified the next time I can suppress it with a simple comment.
  21. As I said, this may not always be possible:
  22. I agree, Enable(True) is just bad. It is either Enabled := True and Enabled := False or Enable and Disable; It is quite similar to TDataSet having Active, Open and Close. Side note: we can see a problem here where Open can bei either a state or an operator. Thus I prefer the Is prefix for states: IsOpen, IsEnabled for clarity. (Is only serves as a placeholder here for syntactical equivalents appropriate for the used wording and intention).
  23. One could argue that an out parameter counts as initialized while a var does not. Due to the history of var/out that doesn't work in a consistent manner. As @Dalija Prasnikar said, out has its merits, too.
  24. There are probably plenty of methods, built-in or from 3d party libraries, that offer only var parameters where out would be the better choice, but we are not able to change the signature.
  25. If a variable is given to a method as var or out parameter that should be sufficient to rate that variable as initialized inside that method. If that would always issue a warning, you will have to make a redundant initialization just to make the warning vanish. I strongly reject this request.
×