Jump to content

Berocoder

Members
  • Content Count

    64
  • Joined

  • Last visited

Community Reputation

11 Good

About Berocoder

  • Birthday 05/16/1965

Technical Information

  • Delphi-Version
    Delphi 10.4 Sydney

Recent Profile Visitors

2659 profile views
  1. Hi I want to know if anyone actually can debug a Delphi console program reliable? My setup is latest Delphi 12.1 on a Window 10 running in KVM. Host is Ubuntu 24.04. Sometimes it works to singlestep source but most of the time IDE just freeze and I have to kill itπŸ™ I know 2 other developers with same experience as mine. I just don't understand how testing works at Embarcadero. This kinds of bugs must be catched before release! My report here https://embt.atlassian.net/servicedesk/customer/portal/1/RSS-1415
  2. Berocoder

    Sourcecode for BOLD published at GitHub

    I am a member of that team using Delphi 11.3 now if someone is interested to know more about BoldI can tell more 😊
  3. Berocoder

    Refactoring in Delphi

    Builtin Refactoring in Delphi is bad. I think we all agree that MMX Explorer works better. Have there ever been any talk with Embarcadero about use MMX Explorer instead? There is a link https://www.facebook.com/groups/137012246341854/permalink/7883294345046900/ that discuss replace builtin refactoring. Any license problems?
  4. Berocoder

    New ChatLLM application.

    Interesting, thanks for sharing!
  5. Berocoder

    Do you need an ARM64 compiler for Windows?

    I assume those Delphi developers that using a Mac M1, M2 or M3 would be happy if Embarcadero would recompile Delphi IDE and compiler to Windows ARM. What is the potential problem with that ?
  6. Berocoder

    SonarDelphi v1.0.0 released!

    Peganza and pascal expert is great products. I use them both in my daily work to ensure quality!
  7. Berocoder

    Use case or if else ?

    I would prefer alternative 2. But you are right that it is error prone on change as it is harder to read. And as David said using enum would be best choice. Currently alternative 1 is used so I think I leave it as is for now πŸ™‚
  8. Berocoder

    Use case or if else ?

    What code to you prefer and why? Alternative 1 if aMessageType = 'EXPREG' then DecodeExportReg(vDoc, aCdn, aRequestCorrelation, aMessageText) else if aMessageType = 'EXPACC' then DecodeExportAcc(vDoc, aCdn, aRequestCorrelation, aMessageText) else if aMessageType = 'EXPERR' then DecodeExportErr(vDoc, aCdn, aRequestCorrelation, aMessageText) else if aMessageType = 'EXPREL' then DecodeExportRel(vDoc, aCdn, aRequestCorrelation, aMessageText) else if aMessageType = 'EXPREF' then DecodeExportRef(vDoc, aCdn, aRequestCorrelation, aMessageText) else if aMessageType = 'EXPREQ' then DecodeExportReq(vDoc, aCdn, aRequestCorrelation, aMessageText) else if aMessageType = 'EXPINF' then DecodeExportInf(vDoc, aCdn, aRequestCorrelation, aMessageText) else if aMessageType = 'EXPREJ' then DecodeExportRej(vDoc, aCdn, aRequestCorrelation, aMessageText) else if aMessageType = 'EXPCLA' then DecodeExportCla(vDoc, aCdn, aRequestCorrelation, aMessageText) else if aMessageType = 'EXPCON' then DecodeExportCon(vDoc, aCdn, aRequestCorrelation, aMessageText) else if aMessageType = 'EXPAME' then DecodeExportAme(vDoc, aCdn, aRequestCorrelation, aMessageText) else if aMessageType = 'EXPIRJ' then DecodeExportIrj(vDoc, aCdn, aRequestCorrelation, aMessageText) else if aMessageType = 'EXPARJ' then DecodeExportArj(vDoc, aCdn, aRequestCorrelation, aMessageText) else if aMessageType = 'EXPHRT' then DecodeExportHrt(vDoc, aCdn, aRequestCorrelation, aMessageText) Alternative 2 var Index := IndexStr(aMessageType, ['EXPREG', 'EXPACC', 'EXPERR', 'EXPREL', 'EXPREF', 'EXPREQ', 'EXPINF', 'EXPCLA', 'EXPCON', 'EXPAME', 'EXPIRJ', 'EXPARJ', 'EXPHRT']); case Index of 0: DecodeExportReg(vDoc, aCdn, aRequestCorrelation, aMessageText); 1: DecodeExportAcc(vDoc, aCdn, aRequestCorrelation, aMessageText); 2: DecodeExportErr(vDoc, aCdn, aRequestCorrelation, aMessageText); 3: DecodeExportRel(vDoc, aCdn, aRequestCorrelation, aMessageText); 4: DecodeExportRef(vDoc, aCdn, aRequestCorrelation, aMessageText); 5: DecodeExportReq(vDoc, aCdn, aRequestCorrelation, aMessageText); 6: DecodeExportInf(vDoc, aCdn, aRequestCorrelation, aMessageText); 7: DecodeExportRej(vDoc, aCdn, aRequestCorrelation, aMessageText); 8: DecodeExportCla(vDoc, aCdn, aRequestCorrelation, aMessageText); 9: DecodeExportCon(vDoc, aCdn, aRequestCorrelation, aMessageText); 10: DecodeExportAme(vDoc, aCdn, aRequestCorrelation, aMessageText); 11: DecodeExportIrj(vDoc, aCdn, aRequestCorrelation, aMessageText); 12: DecodeExportArj(vDoc, aCdn, aRequestCorrelation, aMessageText); 13: DecodeExportHrt(vDoc, aCdn, aRequestCorrelation, aMessageText); end; Regards Roland Bengtsson
  9. Berocoder

    Optimization On or Off ?

    In our big ERP application we have always compiled it with Optimization off in compiler settings to production. Delphi 10.4 is used but plan is to switch to 11.3 during summer. With our biggest customer the volumes has increased and the application can sometimes feel slow. So I tried to compile it with Optimization on as that is a cheap way to increase performance. Everything seems to work fine. But there is one thing. Exceptions are logged to a textfile. Callstack/Stacktrace are also logged. We use JCL for that. It works fine before but now I see sometimes callstacks make no sense anymore. Obviously I suspect Optimization for that. So curious how other developers handle this case ? Is there other components like EurekaLog that handle optimization better and still can generate a reliable callstack ? Or maybe we have to choose between better performance or reliable callstack ? Regards Roland Bengtsson
  10. Berocoder

    Formatting method

    Or Ctrl + Alt + y with MMX formatter installed. It is a bit easier for fingers 😊
  11. Berocoder

    FastMM5. Can't get a log file

    Ok go to FastMM5.pas line 144 {.$Include FastMM5.inc} // Enable to turn on log leaks to file Remove dot and it works πŸ˜€
  12. Berocoder

    FastMM5. Can't get a log file

    Thanks for the hint. I had the exact same problem
  13. Berocoder

    FastMM5. Can't get a log file

    Thanks for the hint. I had the exact same problem
  14. Berocoder

    TestInsight usage

    I am a bit confused of TestInsight. I am using version 1.2.0.1 with Delphi 11.2. I have marked my testproject Discover tests find 34 I mark 2 tests and run selected with Shift+Alt+F9 Now the strange case. I mark 2 new tests in skipped and run again with Shift+Alt+F9. The 2 already successful seems to run. Duration change. But not the new tests. I expect to see 4 success and 30 skipped now Now I uncheck the 2 tests at top and leave only 2 selected tests and run with Shift+Alt+F9. It seems to be ignored and none tests was executed. Did I do anything wrong or have I found a bug ? /Roland
  15. Berocoder

    My app dies in Server 2019

    I have a problem that needs to be solved. I have an application written in Delphi 10.4. It is about 10 years old. It transform data from one database to another unsing Unidac drivers. Runs on a Windows 2008 R2 Server. As it is old it needs to be replaced by a new virtual server with Windows server 2019. Unfortunately my application don't works well. It runs for a while and just quit. Not an exception no sign of error at all before it dies. At the same time we setup more strict permissions in Windows. Thought that this was the reason. When I look in eventlog I see this: Faulting application name: DatapumpOCL.exe, version: 2022.10.200.3483, time stamp: 0x6358d093 Faulting module name: KERNELBASE.dll, version: 10.0.17763.3532, time stamp: 0x95b80d84 Exception code: 0x0eedfade Fault offset: 0x00125232 Faulting process id: 0x237c Faulting application start time: 0x01d8f9bcde0671f6 Faulting application path: C:\Ahola\AholaDaily\DatapumpOCL.exe Faulting module path: C:\Windows\System32\KERNELBASE.dll Report Id: 404588fe-4a1d-45a2-8c13-42a4b0136ced Faulting package full name: Faulting package-relative application ID: This is a 32-bit application. Windows Defender is running as antivirus. But Defender seems only have information as logs. No errors. I have tried to turn off everything in Exploit Protection just for this DatapumpOCL.exe. I have tried to turn on checks for Range, Overflow and IO in Delphi compiler settings but still the same. So out of ideas now
Γ—