Jump to content

Микола Петрівський

Members
  • Content Count

    44
  • Joined

  • Last visited

Community Reputation

6 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Микола Петрівський

    Passing back a string from an external program

    Just create global atom and pass it's code to the caller. Or caller can create empty atom, and then check for changes.
  2. Микола Петрівський

    Android ADB devices offline, best practices

    ADB over USB has never worked for me in VirtualBox VMs. That is why I always use ADB over WiFi: https://developer.android.com/studio/command-line/adb#wireless
  3. Микола Петрівський

    MacOS development environment

    If you are going to develop GUI apps for Mac, then you really need dedicated hardware with separate screen, keyboard and mouse. But if you already have good Windows PC, then the best option will be to by some cheap Mac Mini.
  4. Микола Петрівський

    DPI-change, crashes tDrawgrid.

    Do not forget, that any app nowadays has multiple threads, and when you break the program, currently selected thread does not necessarily will be VCL main thread. You need to select correct thread in Threads window.
  5. Микола Петрівський

    FastMM4 large memory allocation–benchmarking VirtualAlloc

    In my tests 64-bit app is ten times faster, then 32-bit on real hardware. In VM difference is only two times, but 32-bit code is twice faster, then on host. Very interesting results.
  6. Микола Петрівський

    On-demand ARC feature discussed

    Interesting observation: Android ART is written in C++ and core of Unity (game engine) is also written in C++. In both cases code with manual memory management is doing all hard work, and garbage collected code (Java and C#) sits on top of it. So authors of this codebases also were perfectly aware of problems related to mixing different memory management models, and have separated them on language borders. Delphi has to be good in both low level stuff and business logic, so it had to switch to simpler memory management model.
  7. Микола Петрівський

    On-demand ARC feature discussed

    Your code contains memory leak. After a call to "Modify", pointer to original object, inside "classic" variable, will be lost.
  8. Микола Петрівський

    Delphi compiler need to be opensourced

    No matter what you do, sooner or later RTL will have to insert a call to UniqueString. For example when you pass your variable to a function with var parameter. For strings this is not a problem, because they are value types, their copying does not have side effects. For objects you can't guarantee, that copying is safe. You can ask programmers to mark their objects as copy safe, and add additional compiler restrictions for unsafe objects. But how many times some object will happen to have wrong mark, and how easy it will be to debug and fix it?
  9. Микола Петрівський

    GetIt Package Manager Item buttons only partially visible

    If Embarcadero had been testing IDE for HiDPI, then they would spot the problems in IDE manifest first of all. But manifest remains broken for several releases already. So they clearly do not test for HiDPI. And in the docs you will not find any statements, that IDE is HiDPI-aware.
  10. Микола Петрівський

    When is a Delphi form actually visible to the user on Android?

    As far, as I know, TBitmap had problems with threads in Tokyo. In Rio it should be fine.
  11. Микола Петрівський

    When is a Delphi form actually visible to the user on Android?

    You are using Application.ProcessMessages, right? This is a well known feature of latest versions of FMX on Android. Details and workarounds are here: https://quality.embarcadero.com/browse/RSP-22888
  12. Микола Петрівський

    Delphi Rio Android application.processMessages; dosent work

    Explanation from Marco why it does not work and they are not going to fix it: https://quality.embarcadero.com/browse/RSP-22888
  13. Микола Петрівський

    Runtime Error on Closing with ScaleMM2 Memory Manager

    Usually, you should not call memory-related functions after MM unloading. There is a bug somewhere. Maybe FastMM4 is not the first in uses clause, or something gets uninitialized too late.
  14. Микола Петрівський

    Did anybody have the guts to try XCode 10.2

    It has iOS SDK 12.2. C++ apps do not compile with that, while Delphi apps are OK. Have not tested MacOS.
  15. Микола Петрівський

    Runtime Error on Closing with ScaleMM2 Memory Manager

    Try FastMM4 in FullDebugMode. Probably some code tries to call interface method, but reference is nil.
×