-
Content Count
15 -
Joined
-
Last visited
Community Reputation
3 NeutralAbout 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.
-
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.
-
Hallvard Vassbotn changed their profile photo
-
remove ExplicitXxxx properties
Hallvard Vassbotn replied to dummzeuch's topic in Delphi IDE and APIs
Great, thanks! 🙂 -
Remy, the first byte is 225, not 255..:)
-
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.
-
Spring4D and objects life cycle
Hallvard Vassbotn replied to Jacek Laskowski's topic in RTL and Delphi Object Pascal
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. -
Do you consider this type construct to be a smelly code?
Hallvard Vassbotn replied to Clément's topic in Algorithms, Data Structures and Class Design
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. -
Is it possible to raise an aggregated exception?
Hallvard Vassbotn replied to Der schöne Günther's topic in RTL and Delphi Object Pascal
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 -
FastMM4 large memory allocation–benchmarking VirtualAlloc
Hallvard Vassbotn replied to Primož Gabrijelčič's topic in Tips / Blogs / Tutorials / Videos
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 -
Read of address DEADBEE7. - Source of this raise?
Hallvard Vassbotn replied to Lars Fosdal's topic in General Help
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.3.1 has been released
Hallvard Vassbotn replied to Martin Sedgewick's topic in Delphi IDE and APIs
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. -
GnuGetText.pas using Utf8ToUnicodeString instead of Utf8ToWideString
Hallvard Vassbotn replied to dummzeuch's topic in Tips / Blogs / Tutorials / Videos
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 -
ABI Changes in RAD Studio 10.3
Hallvard Vassbotn replied to David Millington's topic in RTL and Delphi Object Pascal
> 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! 🙂 -
JMP to expernal methods <> inlined call to external method, bug or correct design?
Hallvard Vassbotn replied to Johan Bontes's topic in RTL and Delphi Object Pascal
I agree. Uninitialized Result in a function should give a warning. Period. -
JMP to expernal methods <> inlined call to external method, bug or correct design?
Hallvard Vassbotn replied to Johan Bontes's topic in RTL and Delphi Object Pascal
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. -
Warning W1010: Method hides virtual method of base type
Hallvard Vassbotn replied to Kryvich's topic in RTL and Delphi Object Pascal
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.