Jump to content

Uwe Raabe

Members
  • Content Count

    2757
  • Joined

  • Last visited

  • Days Won

    163

Everything posted by Uwe Raabe

  1. This doesn't seem right. The call should be SetLength(arrayvar[rowindex], columnsize), shouldn't it?
  2. Uwe Raabe

    Continually Losing Frames

    Project Magician has an option for that:
  3. If you build a project, all visible sources are compiled. Only when you just compile a project where the dcu and source are both available, the source is compiled only when its time stamp or memory content is newer than the binary. If you don't want to compile any library sources but always use the binary, you must remove the source from Tools > Options > Language > Delphi > Library > Library path as well as from Project > Options > Building > Delphi-Compiler > Search Path. Unfortunately that removes the ability to debug the library sources. To fix that, you have two options. Which you choose depends on where you add the binaries folder: A: Tools > Options > Language > Delphi > Library > Library path: Add the source folder to Browsing path in the same dialog. B: Project > Options > Building > Delphi-Compiler > Search Path: Add the source folder to Project > Options > Debugger > Source Path Obviously, solution A affects all projects, while B affects the current project only. Note: You have to compile the library with debug options to make that work. With solution A you can separate the debug binaries from the release ones by placing the debug binaries in a separate folder (just as the Delphi lib folder is organized) and add the debug binaries folder to the Debug DCU path entry of Tools > Options > Language > Delphi Options > Library. This will allow to use the debug binaries when the Use debug .dcus option is set in Project > Options > Building > Delphi-Compiler > Compiling.
  4. Uwe Raabe

    Reading empty collections

    Indeed! Probably no one at Embarcadero is going to change a that old behavior, because no one can say for sure what the consequences would be for existing code. Asking here only reaches a small part of the existing Delphi developers, from which some may not even know whether their code relies on the current implementation or not. I second Anders view of better using a workaround. Besides his suggestion, you can also write a sentinel value as the only collection item, which is removed after reading. Candidates for interception can be the ReadState/WriteState methods of the component. In WriteState add the sentinel when the collection is empty before calling inherited and in ReadState remove the sentinel if found after calling inherited.
  5. Uwe Raabe

    New Code Signing Certificate Recommendations

    So your certificate has been issued in 2022 and thus doesn't fall under the new hardware rules. You can use it as long as it is valid, but then you need one of the new ones bound to a hardware token.
  6. Uwe Raabe

    End Of File

    That won't catch the keys pressed inside the grid itself. The BeforeInsert event is indeed the best place.
  7. Uwe Raabe

    The Advent of Code 2024.

    I would rather say that are 21 seconds (which is probably less than I actually need to just read the description). This is backed by this quote from the About text: Since the start time of each puzzle is way out of my awake periods a day, I can thankfully ignore the ranking system completely. This allows me to concentrate on finding a suitable solution, sometimes even a clever one.
  8. Uwe Raabe

    Application Loading incorrect bpl

    Is this folder is added to the PATH variable or how do you make Windows find those libraries? Also, which folder is given as the starting folder when you launch the application?
  9. Uwe Raabe

    My sLineBreak is not working

    A TEdit can only show one line. For multi-lines use a TMemo instead.
  10. Uwe Raabe

    Naming abbreviations for controls

    I try to omit the control type in the name in favor of the purpose the control is used for. F.i. instead naming a TLabel as lblSomething and a TStaticText as sttSomethingElse I use dspSomething, dispSomething or even displaySomething lately. Similar I give a TEdit, TMemo or TComboBox (if not in List style) a editSomething name, while a TRadioGroup, TLIstBox or TComboBox (when in List style) gets a name like selectSomething. The advantages are that these names usually stay as is when the controls are changing type and it contributes to documentation - at least a little bit.
  11. A bit tedious, but you can set a breakpoint by pressing F5 in each line from 2 to 7 and use F9 instead of F8. (Not that I would rate that a good solution, but my perception may be different than yours.)
  12. Uwe Raabe

    Why doesn't this work?

    With inline vars this works: Var Boy, Girl, Couple: string; But this does not: Var Boy: string; Girl: string; Couple: string;
  13. Uwe Raabe

    Why doesn't this work?

    You are using inline variables. Try moving the variables declaration before the begin. procedure TFormStringConcatenation.ButtonAddCoupleClick(Sender: TObject); Var Boy: string; Girl: string; Couple: string; begin Boy := EditEnterBoy.Text; Girl := EditEnterGirl.Text; Couple := Boy + ' and ' + Girl; ListBoxCouple.Items.Add(Couple);
  14. Uwe Raabe

    Upgrade Costs

    Could it be VAT?
  15. Uwe Raabe

    Switching off automatic Bookmarks?

    Well, MMX was born in 2001 and I assume the help is just as old.
  16. Uwe Raabe

    Switching off automatic Bookmarks?

    Sending is done via MAPI, so no special handling for some mailers. You can check or set the MAPI entry under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Messaging Subsystem/ and /HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\Windows Messaging Subsystem/ for a REG_SZ value of 1. The help gives some information:
  17. Uwe Raabe

    TRESTClient encode issue

    Have you tried using ToString instead of ToJSON?
  18. Uwe Raabe

    Signotaur Code Signing Server - Looking for beta testers

    When you sell to larger companies? Definitely! Most likely they will never make it to be your customers.
  19. The TRecordA/TRecordB relation leads to a structure of infinite size. I would question the design choice, but having no knowledge of the underlying API that is not more than just a gut feeling. IMHO, you should use the approach that fits best. There is no general rule for all cases.
  20. The RSP issues are from the Old Quality Portal (now read-only). Although they are not visible in the New Quality Portal, they still exist in the internal tracking system.
  21. There was a change in V15.1.10 that prohibits the Auto-Scan until the search window is visible. I had a couple of reports about errors regarding hidden windows in this area. Seems I have to think about a more sophisticated fix for that. Perhaps prohibiting the display instead of the search would be more suitable.
  22. Uwe Raabe

    Actionlist shortcuts do not work

    While TApplication checks IsShortCut for the main form only, each form also checks IsShortCut for all its child components (direct and indirect). Your options to get the TActionList on the datamodule executed is either make the datamodule owned by the mainform or wire the OnShortCut event handler of TApplication and call the actionlist IsShortCut manually.
  23. Could it be related to this one: RSP-18189 - Duplicate items in component palette
  24. With WordWrap = True, the AutoSize property of a Vcl TLabel doesn't work the same as without. BTW, almost the same holds true for FMX.
  25. Uwe Raabe

    Problems with Delphi 12.2 patch 1?

    Not sure what happened in your case, but for me it was just executing the setup, confirm any questions and re-compile one package to get it working again.
×