Jump to content

Hallvard Vassbotn

Members
  • Content Count

    15
  • Joined

  • Last visited

Community Reputation

3 Neutral

About Hallvard Vassbotn

  • Birthday 01/05/1970

Technical Information

  • Delphi-Version
    Delphi 10.4 Sydney

Recent Profile Visitors

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

  1. Hallvard Vassbotn

    Is this project still Alive ?

    May be caused by scope issues? Looks like the interface references var FTask1: IOmniTimedTask; FTask2: IOmniTimedTask; Are global variables and thus live longer than the internal window handles that Omni uses internally to post messages? Clear the interface references (and thus free the underlying objects), or do something else in the app close down to stop / wait for the threads before the app goes down? Sounds like programmer error.
  2. Hallvard Vassbotn

    remove ExplicitXxxx properties

    Great, thanks! 🙂
  3. Hallvard Vassbotn

    UDP multicast issues

    Remy, the first byte is 225, not 255..:)
  4. Hallvard Vassbotn

    Best delphi so far?

    XE 6 has been pretty good to us. We want/need to upgrade the production version (we already have the licenses) to latest to get proper (?) HighDPI support, but are still reluctant due to performance and stability issues. From the roadmap, it seems they still have to fix HighDPI issues, probably won’t be fully fixed until they dog food it by using it in the IDE, as indicated in the roadmap.
  5. Hallvard Vassbotn

    Spring4D and objects life cycle

    Use the source and the debugger? For instance, set a breakpoint in your destructor and see if and from where (stack trace) it is triggered.
  6. Incomplete code? Using pointers is fine(*), repeating code, especially inside a loop, is not. Move expressions like: PUInt64Array(@oString[0]) outside the loop, assign to local vars. Then you can probably just use inc on the pointer vars instead of using slower array notation. (*) as long as you understand them, use them correctly, efficiently and readably.
  7. Hallvard Vassbotn

    Is it possible to raise an aggregated exception?

    You can a acquire the exception object to prevent it from being automatically freed. http://docs.embarcadero.com/products/rad_studio/delphiAndcpp2009/HelpUpdate2/EN/html/delphivclwin32/System_AcquireExceptionObject.html
  8. Hallvard Vassbotn

    FastMM4 large memory allocation–benchmarking VirtualAlloc

    Yes, you get access to many tweaks and debug options, including full stack trace of memory leaks. From 2007: http://hallvards.blogspot.com/2007/05/use-full-fastmm-consider-donating.html?m=1
  9. Hallvard Vassbotn

    Read of address DEADBEE7. - Source of this raise?

    Typically debug-enabled version of memory manager. On Phone now, so can’t check, but I think FastMM4 uses a different pattern (all $80, IIRC)
  10. Hallvard Vassbotn

    10.3.1 has been released

    What is the status of the HighDPI support now? Is it solid enough to be used in production? I wish they would dog food this by using it in the IDE.
  11. I don’t see any problem with that. Unless that function was not available in an earlier version of the Delphi RTL. Maybe it it should be IFDEFed
  12. Hallvard Vassbotn

    ABI Changes in RAD Studio 10.3

    > However, if you need information (for example, perhaps you work on low-level code for profilers or debuggers, or have code for stack manipulation, inline assembly and naked functions, or similar) feel free to contact us. Inquiring minds want to know! 🙂
  13. I agree. Uninitialized Result in a function should give a warning. Period.
  14. That’s because functions with record (and other structured) return types are really implemented as hidden var-parameters. IMO, they should have been implemented as out-params, to get proper warnings. Alas, functions returning structured types preceded support for out-parameters (IIRC), and they never went back to fix this.
  15. I think the requirement to explicitly state reintroduce is a good thing. It avoids the issue of forgetting to add the override directive - if you really intended to do so.
×