Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Can I include Rul files twice?


4 replies to this topic

ThomasM

ThomasM
  • Full Members
  • 2 posts

Posted 10 October 2012 - 09:24

Hello!

I have a Log.Rul script file, which I included into the Setup.Rul file to log/document the setup process. Now, I want to use the logging functions within my Dialog.Rul und SetupFunction.Rul file also. If I include it within these files too, I get "already defined" errors.

How can I uses functions within multiple Rul files?

Thanks in advance,
Thomas


Btw, I use InstallShield 2012 with a InstallScript project.

Taco Bell

Taco Bell

    IS6 Expert

  • Moderators
  • 1,281 posts

Posted 10 October 2012 - 12:39

You don't need to include an RUL file twice to achieve this common logging support.

Instead, just include the Log.Rul script in your main Setup.rul file along with the other Dialog.Rul & SetupFunction.Rul files and the compiler will be able to resolve things okay.
user posted image

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 10 October 2012 - 14:55

You may need to put (only) the prototype in a .h file and include that in the other .ruls

ThomasM

ThomasM
  • Full Members
  • 2 posts

Posted 12 October 2012 - 10:26

Thanks Stefan, Thanks Taco Bell.

Unfortunately, neither including the Log.Rul file in Setup.Rul and calling the WriteLog() function from SetupFunctions.Rul, nor putting the prototype to a Log.h file worked.

I always get the error: WriteLog : identifier already defined

I guess I have to reduce logging to the Setup.Rul file actions.

Regards,
Thomas

Edited by ThomasM, 12 October 2012 - 10:27.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 12 October 2012 - 15:27

So you only have the function in one .rul file, and this .rul file is not #included anywhere, and the prototype is in the .h file and the .h file is included in all .rul files, and you still get that error message?