Jump to content

Sue King

  • Content Count

  • Joined

  • Last visited

Community Reputation

5 Neutral

About Sue King

  • Birthday 12/26/1951

Technical Information

  • Delphi-Version
    Delphi 10.1 Berlin

Recent Profile Visitors

120 profile views
  1. Sue King

    CDATA CSV Component

    kbmMemTable has a good CSV import unit for importing into their memory table. I use this and then process the data from there. It isn't an import component as such but part of the table. It can be used in both VCL and FMX.
  2. Sue King


    Mileage has a wider use than just a measure of miles. For example, it is not uncommon to hear a phrase such as 'We had good mileage from that' where that can refer to clothes, appliances, tools or something that get used.
  3. Sue King

    FastMM4 and False Positives

    Possibly, although the assurance that it isn't a false positive maybe have been the deciding factor.
  4. Sue King

    FastMM4 and False Positives

    Thank you all for your responses. The vendor is looking into this.
  5. Sue King

    FastMM4 and False Positives

    @Sherlock The message I sent to the vendor described a very simple example that showed the error. I have referenced this forum for them to see responses to my inquiries, so hopefully they will see @David Heffernan 's response and have another look into it.
  6. Sue King

    FastMM4 and False Positives

    Delphi Rio Update 1, Win x64, 32 bit FMX application I am currently working with a third party component library. When I use one of the components, FastMM4 (4.991) is reporting an interface being used after being freed as the app closes down. When contacted, the supplier of the product responded that there had not been any other reports of this happening, and perhaps it was a false positive. The suggestion is to use the default memory manager, as this doesn't show any errors. I have been using FastMM4 for years, and have never had an issue before. However my code isn't nearly as complex as that in the component in question. I can avoid the error being reported by turning off CatchUseOfFreedInterfaces. Unfortunately I then get an AV with memory accessed at $80808080 and heaps of other memory leak errors that makes debugging very slow as every time the program exits I have to wait for the memory leak report, which I need to check my own code. At the moment, I feel I need to avoid using the component. Is a false positive a likely scenario ? Do other people get false positives when using FastMM4 ? TIA, Sue
  7. Sue King

    Alternative directory for .drc & .map files?

    You could compile to the source/development directory and use Build Events after compile to copy it to the Applications folder for testing.
  8. Sue King

    Using dxgettext on Windows 10

    R124 does not show the problem in the test application. All versions until R47 do show the problem. R47 does not. I have been able to get R115 working by commenting out HookLoadResString.Enable. In earlier versions that didn't work, there were different changes I made that 'fixed' the error. It seems to me that under most conditions the error doesn't show, but when it does, its symptoms are unpredictable. The test that @dummzeuch created generating exceptions in a multithreaded application (which is what is happening in the demo) did not create the right conditions to show the error. The nexus code is very much more complex. @mael The test program is one of the example projects provided by Nexus. It is in Examples->Delphi->Remoting->Client to Client Messaging. I have simply added gnugettext.pas to the project. To generate the problem, Click on Connect and then Disconnect. The program stops responding and has to be killed as it generates a never ending loop trying to close sockets used for messaging. I think you should be able to recompile this example with the trial dcus. I've posted nexus to confirm this but haven't had a response yet.
  9. Sue King

    Using dxgettext on Windows 10

    I have found a possible solution to this. In TGnuGettextInstance.dgettext I replaced UTF8Decode with UTF8ToUnicodeString Is there any reason why UTF8ToUnicodeString could not be used instead of UTF8Decode ? As far as I can see the difference is that UTF8Decode returns a widestring, and UTF8ToUnicodeString returns a UnicodeString, which is what the result field is defined as. Does this mean there is an extra conversion from WideString to UnicodeString that might be causing the issue ?
  10. Sue King

    Using dxgettext on Windows 10

    This test does not show the problem. I was about to try something multi threaded myself, so I'm using your test as a base and looking at the code that does fail to try and make your test more like the failing test. This is giving me more insight into the code that is actually failing so I will try again to catch the exception that shows in the call stack. In the test I'm running, I am not calling any of the gnugettext functions directly, like AddDomain. It is a Nexus demo with gnugettext.pas added to the dpr. All calls to gnugettext are done indirectly using LoadResString (as far as I can see). There are also no .mo files for translating. Nexus hooks into the exception handler and has its own processing of exceptions before they are raised. Early versions of gnugettext did not cause issues. I did do some investigating to see when the problem was introduced, which I think I mentioned in an earlier post. I took another approach to see if it is related to the processor - trying it on another machine that has an Intel processor, not an AMD. It still goes into a loop, so that rules that idea out.
  11. Sue King

    Using dxgettext on Windows 10

    I don't think that the IDEFixPack has anything to do with gnugettext translations. I was wondering if the bug found in IDEFixPack might also be in some assembler called somewhere by something in gnugettext. It was a long shot as the bug is related to converting utf8 strings.
  12. Sue King

    Using dxgettext on Windows 10

    This might be completely off beam, but I thought it worth raising. There was a problem in IDEFixPack with some older AMD processors which involves converting UTF8 strings. Quoting from the thread about this issue : << This fixes the usage of a SSE 4.1 CPU instruction ("ptest") in a code block that only checked for SSE 2. A function that converts UTF8Strings that contain only ASCII characters to UnicodeStrings used an SSE 4.1 CPU instruction. But the SSE instructions are only used if there are more than 15 characters in the UTF8String. >> Might this relate to the problem I'm having with gnugettext ? In the context of IDEFixPack, the bug caused older CPUs to throw 0xC000001D "illegal instruction" exception. I'm not seeing the exception, but I think there is an exception in the call stack that I haven't yet been able to capture as it occurs.
  13. Sue King

    IDE Fix pack for Rio

    @Kryvich In one of my tests I opened the dfm in Notepad++, changed the encoding from UTF-8 to ANSI and made another change so that it was saved. This didn't change anything. I normally have my dfm's as text - my issue was with a form, not a datamodule, though I doubt that makes any difference. I tried converting the dfm to binary, saving and then converting back to text, but it didn't make any difference with the previous version installed. I'm just happy now that I can use the pack - the IDE loads so much better.
  14. Sue King

    IDE Fix pack for Rio

    Wow ! I would never have found that in my attempts to see what was going wrong. Many thanks.
  15. Sue King

    IDE Fix pack for Rio

    @jbg I have tested uData.pas as well as a couple of my other projects. All good. Many thanks for this fantastic helper. I am curious though. On Friday I created a new project in Rio that was very similar to one that showed the problem. The new one loaded without any problem. I was in the process of trying to make the projects as similar as possible to see what was different. The sample form I was about to load up was very simple, and quite different to uData.pas. Do you know what it was that triggered the error in some conditions but not others ?