Application freezes when spell check corrects text in merge.

  • Here is an email I sent to EDSSpell support that should explain the issue.

    Now after further testing by myself I have gotten it to lockup IMMEDIATELY when correcting text that has been merged in and it just sporatically locks up when correcting text in the body.

    Any ideas.

  • Where is the WPDEBUG located? In the Project Options / Debugging section I have everything checked accept use debug dcu's. Is this the area you are talking about. Or are you talking about the WPINC.INC? If the WPINC.INC do I have to rebuild the WPTools5_D6 package?

    In regards to sending you a sample. This is a massive multi-tier, multi-module application and I can't send anything from it. I will have to try and duplicate this in a sample application.

    I can also take print screens of cpu and call stack area for you.[/img]

  • Ok... I have a project built with text already in the editor that locks up every time at a certain line. Now remember it is random in terms of different letters lock up at different points, but in this one it always locks up on the "LUP" in the last sentance of paragraph two. Just start spell checking and tell it to correct everything... even if it isn't really the correct word.

    You can download the zip file from http://www.branchgroup.com/dl/edsspelldemo.zip.

    This locks up every time. I figured if you could reproduce it would be easier than me trying to pass debug info to you.

    Greg

    • Offizieller Beitrag

    Thanks,

    I found this solution.

    In unit AbsBuffer.pas (which is part of EDSSpell) modify the code

    Code
    if (not ((FIgnoreUpperCase and IsAllUpperCase(CurrentWord)) or      (FIgnoreWithNumbers and HasNumbers(CurrentWord))) and      Assigned(FOnNextWord)) then        FOnNextWord(Self, CurrentWord, CancelParsing);

    to

    Code
    if (not ((FIgnoreUpperCase and IsAllUpperCase(CurrentWord)) or
          (FIgnoreWithNumbers and HasNumbers(CurrentWord))) and
          Assigned(FOnNextWord)) then
          begin
            Modified := FALSE; //24.6.2007
            FOnNextWord(Self, CurrentWord, CancelParsing);  
          end;

    Otherwise Modified stays true and the loop is never left. This is in

    procedure TAbsBuffer.ParseBuffer(AControl: TControl; SpellCheckMode:
    TSpellCheckMode);

    Kind Regards,

    Julian Ziersch

  • Hi Julian,

    This solved the problem in the test case I gave you, but I still have the same issue in my full blown application so there may be multiple issues at hand.

    I will try and provide some debug information as I should not have this problem.

    Let me give you some info on how this app is built.

    Basically I have a Application Group with a core EXE and about 15 packages (BPL's). A small number of these packages use the LexPkgD6.bpl and the SplPkgD6.bpl and WPTools5_D6.bpl.

    I have rebuilt the complete Application Group to be certain everything is kosher and the changes to AbsBuffer.pas are in use.

    I'll follow up with some debug info.

  • Ok... the strange issues we were seeing after the fix you gave us dealt with the fact another copy of the dcp and bpl was on the system within the search path. Believe or not Microsoft Search was not finding the files, but I knew things were acting like I was viewing the new code, but running old code. I used another search tool and it found them. What a pain.

    I will be putting this into production tomorrow and hopefully it will hold.

    Thanks for the help.