Beiträge von JazzMan

    Robert,

    Until Julian can get to answering this, let me try, so what I might suggest.

    Since the WPRuler unit is used in both WP V3 and WP V5, that makes me wonder if you might try:

    o within Delphi, go to the menu option Tools / Environment / Library.

    o Check if the path to the WP3 units is specified somewhere in that string

    Also, look on your system for any and all instances of wpruler.dcu. See if any of those paths happen to be in the Library Path string.

    Wish I could help you more..:) Good luck!

    Regards,
    richard diamond

    Bern,

    Julian's suggestion to rem out the Application. ProcessesMessages is an excellent one.

    While the method can be quite useful, I've found time and time again it is an application killer, forcing statements to be executed out of synch, fetching commands from the Windows queue before they should be processed.

    Looking at your code, it *appears* ProcessMessages shouldn't be executed, since it's is in the exception handler, but stranger things have happened under the sun - and it certainly might explain what you're experiencing.

    Unless you've single-stepped through, and know the exception handler is never executed, maybe throw in a MessageDlg statement in the handler to see if that gets triggered.

    Best of luck..:)
    richard diamond

    Matthew,

    I recall seeing this behavior as well.

    I came up with a workaround, but so long ago (hard to believe, but it was back in 2004!), I'm having trouble finding it. I'm still looking...

    richard diamond

    Bern,

    I thought about this some more. The AllowTallObjects $define won't help you, that's used for a different purpose, entirely. Fire the guy who suggested that... Oh wait, it was me....

    Try this one instead:

    Code
    WPRichText1.FormatOptions := WPRichText1.FormatOptions + [wpDontAdjustFloatingImagePosition];

    That one sounds more likely to work.

    Sorry for the confusion!

    Regards,
    richard diamond

    Bern,

    No guarantees, but until Julian gives you the *correct* answer, please try this $define in, say, wpinc.inc (or however else you set $defines), then recompile your version of WPTools 5.

    Code
    {$DEFINE AllowTallObjects}

    My guess about what's happening is WPTools is forcing the image to be within the bounds (i.e., bottom border in this case), of the page. The above define tells it to not force placement of the image.

    As always, I issue a blanket disclaimer in case my suggestion doesn't work..:)))

    Regards,
    richard diamond

    Matthew,

    I've been using the column feature for some time, and not only does it work, but it works wonderfully!

    As with any powerful feature (and this certainly is one of the more powerful ones), while there may be a tweak or two needed here or there, my suggestion? GO for that upgrade!!! I know you'll appreciate it and enjoy it.

    I was able to replace many hundreds of lines of code from an earlier version (WPTools 3) with a call here or there to the column-generating code.

    Regards,
    richard diamond

    Until the Office reopens (it's closed until the 21st), and gives you the real answer....

    try the WPRichText1BeforePasteText procedure to see if that helps you solve the problem. While it has a number of parameters, there are two passed in the call that may be of specific interest to you: RTFData, of type TWPRTFDataCollection, and par, of type TParagraph.

    I hope that helps!

    Regards,
    richard diamond

    Bern,

    Until Julian checks in with the real answer, if you aren't doing this already, try adding the following when the document's processing is finished:

    Code
    wpRichText.ReformatAll( TRUE );
       wpRichText.Refresh;


    I've even seen Julian suggest at times the ReformatAll() be used twice to be effective.

    Give it a shot!

    diamond

    Ken,

    Within WPCTRMemo's TWPCustomRtfEdit.KeyPress() procedure, there's a case statement that starts off:


    It's at either point shown within that Case statement that Julian's code should be inserted.

    I believe the try statement at the top of that block of code shown starts, in R20.9, at around line 4866.

    I hope that helps...:)

    Regards,
    richard diamond

    Until Julian replies, let me throw a couple of things out there.

    First of all, have you checked what the value of the index i (with PaintPages) is at the point you get the AV? It will be interesting to see if it's a reasonable value or, my guess, -1 or something.

    Secondly, do you have any calls to Application.ProcessMessages in your code ANYWHERE that might be executed prior to the section of code that does the PDF printing? If so, remark the ProcessMessages call out and see if that makes a difference.

    Regards,
    richard diamond

    I'd say you're pretty darn close. It looks like there's maybe a couple of lines missing. Perhaps try something like this in the area of your CPPosition := 0:

    Code
    with WPRichText1 do begin
       CPPosition := 0;
       par := FirstPar;           // <------ these are the two lines
       par := par.AppendNewPar;   // <------  you might try inserting
       // now, back to your code
       par.SetText('TO:');
    end;


    Note that I used WPRichText1.FirstPar, which works off of wpIsBody implicitly, rather than ActiveFirstPar, which works off of ActiveText, and could be wpIsBody, wpIsHeader, wpIsFooter, or whatever else ActiveText happens to be at that instant.

    No guarantees, but give it a shot! And, as always, I defer to Julian on this and all other matters..:)

    Regards,
    richard diamond

    Hossam,

    Hello..:)

    I just now verified that I can login to the download site (http://support.wpcubed.com/) with no problem.

    Perhaps confirm your password is being entered correctly?

    If you still are having difficulty accessing it, you'll unfortunately need to wait until the WPTools folks return from their vacation (round about the 28th or so), as the office is closed until then.

    Regards,
    richard diamond

    Roy,

    I may not be understanding the nature of your question, but will something as straightforward as:

    Code
    Displayer.CPPosition := 0;


    and

    Code
    Displayer.CPPosition := MAXINT;


    accomplish what you need, respectively?

    Regards,
    richard diamond