Jump to content

dummzeuch

Members
  • Content Count

    2975
  • Joined

  • Last visited

  • Days Won

    106

Everything posted by dummzeuch

  1. dummzeuch

    EmptyString constant

    Does a constant called EmptyString with the value '' make any sense to you? I think it is just confusing. I mean, when I see it used somewhere I assume that it has some special value that is *not* '', otherwise the programmer would have used a literal '', wouldn't he?
  2. dummzeuch

    GExperts and Delphi 10.3.2

    After I managed to update the license on elc today (thanks again to Matthias Eissing), I was able to compile and use GExperts in Delphi 10.3.2. So far without problems, but that does not mean much because I started and exited the IDE a few times and didn't do much more. I'm busy with other stuff (using Delphi 2007).
  3. dummzeuch

    EmptyString constant

    That's the point: Why have such a constant if it's much more to type and more difficult to read than the literal? The only case I would use such a constant is to have it symbolize an empty string e.g. in a configuration storage where for whatever reason using a literal '' is not possible.
  4. dummzeuch

    GExperts and Delphi 10.3.2

    I got Delphi 10.3.2 installed, but now it tells me my update subscription has expired (No it hasn't, I renewed for a year in May 2019). The old version was also telling me that it had expired but kept working because it was released before May. May sales representative, who I told about this, had no idea and since I was busy with other stuff I never followed it up. That's what you get for not persisting at such times. I probably need some updated license file for our license server. I'll try to get that on the way on Monday, but don't hold your breath for any updates or bugfixes to GExperts for Delphi 10.3.
  5. dummzeuch

    GExperts 1.3.13.77 Crashes RAD Studio 10.3.2 on Shutdown

    I haven't yet found the time to download and install the Rio update. Maybe this weekend. Is this the released DLL from the installer or did you compile it yourself using Delphi 10.3.2 ?
  6. I think I asked that before: Is there a keyboard shortcut for activating the code editor? If I remember correctly the answers were: No, but you can use F12 to toggle between form designer and code editor, and F11 for a three way toggle between object inspector, form designer and code editor. Do I remember correctly? If yes, I have some good news for those who have missed this functionality (which definitely includes myself): I have just added a simple expert to GExperts that does nothing else but activate and focus the code editor. But that raises a question: What should the default keyboard shortcut be for this expert? So I resurrected Nicholas Ring's Delphi Shortcut Finder, in order to find out what is still available. But unfortunately this tool, useful as it is, basically is only a list of known shortcuts with a filter function, so it might miss shortcuts from possibly widely used tools which I simply don't know. I first thought about some F11 combination but it turned out that they are already taken, the same goes for F12. Then there is Shift+F3, but I think this is used for "Find Previous" in some tools. The obvious combinations with the E and C key are also already taken. Shift+F6 seemed to be free for now. (F6 calls IDE Insight and Ctrl+F6 switches between C++ source and header files.), so I assigned it as the default for the new expert. Or Is there a widely used plugin that uses Shift+F6?
  7. dummzeuch

    quality embaradero.com is empty

    Isn't database problems the normal state there? 😉
  8. dummzeuch

    Can GExperts format multiline method definition to single line?

    No, GExperts can't (because nobody answered that question yet).
  9. dummzeuch

    How do you organize units, forms?

    No, it only sorts lines alphabetically in ascending or descending order. Optionally it ignores prefixes like "function" or "procedure". It does not work if the declaration spans multiple lines.
  10. After I just accidentally logged off when I just wanted to mark all messages as read, I have a suggestion: Can we get a confirmation dialog when logging off? When on mobile these two options very near to each other.
  11. dummzeuch

    How do you organize units, forms?

    One of the first things I do is delete those annoying comments the IDE inserts: Private/Protected etc. declarations. Apart from that I sometimes use the GExperts sort expert to sort the methods inside a section alphabetically. But normally I just let the IDE put them in whatever order it uses.
  12. dummzeuch

    GExperts SourceExport problem

    My version of Thunderbird (52.9.1) doesn't insert the prefix for a HTML fragment, but it shows the code as HTML code (the same goes for RTF fragment) No formatted text at all. I'll update and check the latest version too
  13. dummzeuch

    GExperts SourceExport problem

    Copying as "Formatted text/RTF/HTML" does not create an html fragment but a document complete with CSS. Have you tried that? Of course it depends which of the three formats the receiving application inserts. OK, it won't work either. Thunderbird in that case simply inserts plain text. 😞
  14. dummzeuch

    GExperts SourceExport problem

    Ouch, I fixed the version number but not the name.
  15. dummzeuch

    GExperts SourceExport problem

    This is something defined by Microsoft: https://docs.microsoft.com/en-us/windows/win32/dataxchg/html-clipboard-format When I paste such a fragment into Notepad++ (or the standard Notepad) I don't get these prefixes. So I guess it's Thunderbird which does not know how to handle it.
  16. dummzeuch

    GExperts SourceExport problem

    This seems to be missing the CSS for the various span elements. It's possible that this was meant to copy multiple code fragments into the same document which already has got the CSS definitions. But I don't really know, I have never used or looked at this functionality before.
  17. dummzeuch

    GExperts SourceExport problem

    I have just updated SynEdit to the latest version from GitHub. Since both, RTF and HTML-Snippets are generated using the functionality in SynEdit, this may solve the problem. But as I said: I haven't got any Winword license to test this. Could you please compile a new dll with the current sources and check?
  18. There is the structure view which displays all classes, fields, methods etc., global types, variables and constants as well as the uses clause (of the interface section only WTF?)
  19. dummzeuch

    GExperts SourceExport problem

    I just tried to reproduce this, but I could not. The RTF-code saved to a file looks fine to me and pasting into Wordpad and Libre Office Writer also works as expected. So this might be a MS Word specific issue. I don't own any MS Word license that I could use for the test. I tried Delphi 2007 and 10.3 since you did not mention your version. Does anybody know of a tool that can display RTF clipboard contents as text (I only found some that strip RTF formatting from the text) or do I have to write one myself? @PeterPanettone what about the bug report? Maybe it's something in your file(s) that causes the problem.
  20. dummzeuch

    Best delphi so far?

    If that's true, the IDE quality must have been atrocious in later versions, because in my experience XE2 isn't really stable. But maybe that's a matter of how you use them. I still prefer the Delphi 2007 IDE over the later ones, but again that might just be the way I use it. The 10.1 and 10.2 IDEs also seem OK, but I haven't used them much. 10.3 definitively is a step back: It's slow, it's ugly and its buggy.
  21. I have got a VirtualStringTree in grid mode and I would like to autosize the columns so that they are wide enough to display the column text and the column header. Calling vst.Header.AutoFitColumns works for the column text but not for the header. I would have thought that this question has been asked and answerted before, but my Google fu is becoming ever weaker. I found lots of hints on how to fit the column text, but not the header.
  22. dummzeuch

    autosize columns in VirtualStringTree in grid mode

    Since apparently nobody has ans answer and I was unable to find any settings or method to achieve this, here is the code I used: procedure TMyForm.ResizeTree(_vst: TVirtualStringTree); var c: UInt32; ws: WideString; cnv: TCanvas; Fnt: TFont; ThisWidth: UInt32; MinWidth: UInt32; Node: PVirtualNode; r: TRect; s: TSize; begin cnv := _vst.Canvas; for c := 0 to _vst.Header.Columns.Count - 1 do begin ws := _vst.Header.Columns[c].Text; GetTextExtentPoint32W(cnv.Handle, PWideChar(ws), Length(ws), s); MinWidth := s.cx + 10; Fnt := _vst.Font; Node := _vst.RootNode.FirstChild; while Assigned(Node) do begin _vst.GetTextInfo(Node, c, Fnt, r, ws); ThisWidth := r.Right - r.Left + 10; if MinWidth < ThisWidth then MinWidth := ThisWidth; Node := Node.NextSibling; end; _vst.Header.Columns[c].Width := MinWidth; end; end; It's probably not perfect but it worked for me (until I dropped the VirtualStringTree because it just added too much complexity for what I wanted to achieve, and replaced it with the much simpler TdzVirtualTreeView which I had to extend for my use case.) I particular I don't like the constant 10 pixels in the code.
  23. dummzeuch

    GExperts SourceExport problem

    My guess would be that these are additional line feed characters that word can't handle. But for now that's just a guess. Please file a bug report and include all files you used to create these screenshots.
  24. dummzeuch

    GExperts SourceExport problem

    I guess you mean the squares on the left hand border? (You should have said so, because i just starred at this picture for several minutes before i noticed them.) Everything else looks fine to me.
  25. I have been using two tools to add additional data to my executable files in post build scripts for years: assemble.exe from GNUGettext for Delphi MakeJclDbg.exe from Project Jedi Both tools open the freshly built executable and append chunks of data to it. And both started to fail with the error “[project].exe is open in another program” more often lately. I never managed to find out exactly what causes the problem. First I suspected BitDefender antivirus, but the error still occurs after I have switched to Windows Defender, so it’s not just BitDefender but probably any antivirus software that is causing the trouble. As a first try I added a 2 seconds delay between the compiling/linking and the execution of each of these tools. It seemed to help, the errors became much less frequently but they still occurred. Also those 4 seconds always felt like eternity (the whole compile usually takes less than 10 seconds, so 4 additional seconds is a whopping 40%). So, a few days ago I had enough. I’ve got the source code of these tools, so why not simply add several tries to opening the file? That’s what I did: Both tools now try to open the file and if that fails wait for a second and try again. Rinse and repeat up to 10 times. In my tests, it rarely took more than 2 tries, usually the first one succeeded. That means it shaved these 4 seconds off the build time again with the rare exception of adding them again at very few occasions. Read on (and get download links) in my blog post https://blog.dummzeuch.de/2019/06/23/project-exe-is-open-in-another-program-errors/
×