Subject | Re: [IBO] TIB_Script: Working with Macros |
---|---|
Author | Heri |
Post date | 2002-10-13T12:45:14Z |
> Possibly you are misunderstanding the usage of macros. They are typicallysimple
> for substituting repeating strings or blocks of statements, for example in
> a replication or fuzzy-text application setup script, and the MacroBegin
> and MacroEnd characters need to be set up explicitly in your script where
> the macro is wanted, e.g. you might use '$$' for both MacroBegin and
> MacroEnd and, in your script, include the placeholder '$$MACRO_1$$'. The
> OnMacroSubstitute event is where you handle the substitution. For a
> example,code?
>
> ...
> if ATextBlock = 'MACRO_1' then
> ATextResult := 'CREATE TRIGGER';
>
> What task is your script trying to do with macros? What does the macro
> placeholder in your script look like? What is your OnMacroSubstitute
>Thanks for your answer(s).
> Helen
I think I didn't misunderstand the usage of macros. I just want to replace a
macro string with a meaningful content:
I have set IB_Script.MacroBegin := ### and IB_Script.MacroEnd := $$$
This is my statement in the script:
connect database ###DBPath$$$ user "SYSDBA" password "masterkey";
This code should be executed in OnMacroSubstitute:
if ATextBlock = 'DBPath' then
ATextResult := format('"%s"',[MyRegistry.DBPath]);
But this event does not fire. (beside the problem with double quotes and the
keyword database), but this is handled in the other previous posting).
In the meanwhile I catch the event OnStatement and replace the macro by
myself.
Any hints why OnMacroSubstitute does not fire?
Heri