Jump to content

Dalija Prasnikar

Members
  • Content Count

    1062
  • Joined

  • Last visited

  • Days Won

    91

Posts posted by Dalija Prasnikar


  1. 58 minutes ago, PeterPanettone said:

    I am happy to hear that. But the support person has sent me the wrong information.

     

    Is there installation support at Embarcadero which is able to send requested correct information?

    https://www.embarcadero.com/support you should choose Installation support. What bothers me now, is that as far as I can remember at that page it was clearly marked that installation support was free. Now it does not say that. I will have to check through other channels. 


  2. C++ Builder still has a long way to go to catch up with Delphi and probably even more to catch up with other C++ based tools.

     

    If you still feel like it would be better to use C++ Builder, go to QP and check all the bugs listed under C++ Compiler and C++ RTL to see if there are any serious showstoppers for you. 

    • Like 2

  3. Usually the fastest way to prepare device for debugging is to create blank application in Xcode and run it through its debugger. Xcode will take care of everything. 

     

    If you also give that application same bundle ID as the real one you are making, Xcode will take care of provisioning profiles and all the certificate stuff. Once you have them, you will have Delphi iOS app up and running (debugging) in no time.


  4. 1 minute ago, ertank said:

    I mostly use mORMot for my AES handling. Even it compiles on Linux FPC and Raspberry Pi, it doesn't compile for FMX. First compiler complaint is about AnsiString type.

    Depending on how AnsiString is used, it can be replaced with RawByteString in cross-platform. Only if it interprets stored characters and makes conversions, it cannot.


  5. 7 minutes ago, David Heffernan said:

    Encryption is agnostic of framework. I don't see how you could have a VCL only encryption library. You don't need design time components. 

    Unless someone designed framework poorly. 

     

    There is also possibility that framework is only for Windows and cannot be used as cross-platform solution. Still, people might use FMX only on Windows, so naming framework VCL would be poor choice in such case.

    • Thanks 1

  6. 1 hour ago, Sue King said:

    The component vendor has investigated the code and believes this is a false positive. They are interested in making contact with someone working on FastMM to try to resolve it.  Who should I suggest ?

    Chances that it is false positive are about the same as chances you will get eaten up by black hole tomorrow. 

     

    They need to fix their code. I gave you scenario (code) how this can happen, and something similar happens in their code.

    • Like 3
    • Haha 1

  7. 1 minute ago, Uwe Raabe said:

    In Project Options - Delphi-Compiler - Compiling add the following value to Additional options to pass to the compiler-W^UNKNOWN_CUSTOM_ATTRIBUTE

    Arghhhh... who designs this stuff? Some warnings can be setup at one place, other in another... it is a mess...

    • Like 3

  8. 41 minutes ago, John Kouraklis said:

    That's what I have pointing to android-23

     

    You need at least 24

     

    41 minutes ago, John Kouraklis said:

    But the compiler adds the resizableActivity, which means it detects a version higher than 23. 

    Nobody is detecting anything. Delphi IDE adds that automatically because you need to target at least API 26 (now 28) and Delphi does not support resizeableActivity (AFAIK) so it must explicitly set it to False. Default value if it is not explicitly set is True.

    Why it adds it after you save project and not before, that is another story.

    • Thanks 1

  9. 7 hours ago, John Kouraklis said:

    How does the IDE find the SDK version?

     

    I've got the Android SDK from google directly and there are folders for different SDK versions (23, 24, ...) depending on the installation.

     

    When I create a new SDK manager and point to say version 23, the IDE reads the version as 26.1.1.32

    That value 26.1.1 seems to be hard coded somewhere and is basically meaningless. What you need to do is go to SDK Manager, and under SDK choose appropriate platform folder:

     

    SDK API level location

    C:\.....\sdk\platforms\android-28

    • Like 1

  10. 1 hour ago, Der schöne Günther said:

    It's beyond me why, if it's never getting fixed, why they can't at least add a compiler warning. We don't even have warnings for the most obvious mistakes like using an uninitialized return value or this. I don't understand why.

    If they add warning they could just as well fix it...

     

    Seriously, no matter how hard I try, I cannot figure out the real reason why... 


  11. 9 minutes ago, Arnaud Bouchez said:

    What is sure with "with" discussion is that it is a trolling subject in the Delphi community since decade(s).

    This is rather sad fact(s). Both that talking about bad coding practices is considered trolling as well as fact that after of decades of discussions and knowing that certain code is bad it is still widely used and all warnings are ignored.

     

    9 minutes ago, Arnaud Bouchez said:

    TRect came as a true problem about "with" - I do agree with Stefan. But problem came from Embarcadero, not taking into account existing code base. Just like ARC, or the AnsiStrings...

    Embarcadero cannot possibly take in account every single line of code out there. Problem here is inherently in 'with' and not in adding additional functionality. Every change has potential to break some code somewhere, but with attitude that nothing should be changed we would have no progress. That does not mean that bad code changes will not happen.

    9 minutes ago, Arnaud Bouchez said:

    Most dev people outside this forum would argue, paraphrasing @Dalija Prasnikar,  that 'Delphi is a relic of another time and another coding practices: for instance, there is no GC !'. 
    Php adepts would argue that writing $this->foo is much cleaner/safer than what Delphi (and other languages) do about properties.

    We are not discussing other languages here. 'with' is the problem within language itself.

    9 minutes ago, Arnaud Bouchez said:

    I like "with" - when properly used for two-liners code - as I wrote. It is a clean way of writing code, "making it easier to read" as wrote Yaron.

    You can shoot yourself in the foot with 'with' even in single line of code. Again, main problem is that code may break due to far away changes you may not even be aware of. 'with' makes code fragile and prone to breakage more than it would be without it. Any code can be broken one way or another. Point is minimizing accidental and subtle breakage as much as possible.

    9 minutes ago, Arnaud Bouchez said:

    This was just my 2 cents, to introduce another POV into the discussion. Nothing is totally black nor white.

    On this we agree. With every rule there are few exceptions. That does not mean we should not strive to educate about particular code dangers, especially when benefits are minimal or non existent and can be obtained by using different techniques.

    • Like 2

  12. 59 minutes ago, Arnaud Bouchez said:

    Breaking compatibility by adding properties is very likely to break code...
    My assumption is that you use and maintain your own classes.

    We are talking about TRect here. Very basic type used all over. 

    It is not very likely that one will create his own types for just about everything. And this is where using with can easily break your code without you even realizing it is broken.

    This is especially problematic when used in combination with UI where testing is hard and you can have a lot of code that is poorly covered with tests that could reveal such issues.

     

    'with' is relic of another time and another coding practices. And, yes you could shoot yourself in the foot even back then, but now it is extremely easy to do so. Not using 'with' is the best advice one could offer. It is almost like using goto and absolute. You may have some very limited use case where using it is justified, but you will not find such constructs being used at large.

    • Like 5
×