dynamic macro building dll