Hi Christof,
Danke!
You have some nice tricky solutions with this. ::) The deal with #DEFINE is something I like.
>There's one problem, however. Since TEXTMERGE() is now called in a program, references to THIS and THISFORM in textmerge expressions do not work anymore. If that's an issue, you can add a TextMerge method to all your base classes and use the #DEFINE to call THIS.TextMerge().
I see the point on this.
>When you changed the include file, you have to recompile all .PRG files manually with COMPILE *.PRG. VFP won't recognize that the .prg changed, even when you check the "Build all" option.
I have never had any problems with this. I do things with changing a flag #DEFINE dlDebugMode a lot of times and it never fails on my prg's.
>The fixed version of TEXTMERGE should either not include the main include file or use TEXTM() to call the native function. Otherwise, the call recurses until no DO levels remain left.
To use the abbreviated TEXTM() is very cool.
So there is one thing left. Do you have a clever solution for SET TEXTMERGE? There are some parts of code using this. Until now I have to locate them and do something with #UNDEF
Agnes
>
>Christof
Words are given to man to enable him to conceal his true feelings.
Charles Maurice de Talleyrand-Périgord
Weeks of programming can save you hours of planning.
OffThere is no place like [::1]