Reusing Existing Libraries

The Service Builder offers two options for reusing existing types and services in a project, you can use an Existing RODL or you can import one.

The use an Existing RODL option adds a reference to an existing RODL to your project. If you make changes to the existing RODL later, these changes will be reflected in your new Library as well. When this option is chosen, no code will be generated for the definitions pulled in from the existing RODL, instead the [[CodeGen]] will add the units from the existing RODL to your uses clauses (in Delphi), or it will rely on them to being defined in the same namespace as the new RODL (in C#).

The import RODL option will simply copy the definitions from the old RODL to your new one, which will then be treated as if you had manually entered them.

You should choose to import a RODL when the project you are working on is completely independent from the previous RODL and you only want a shortcut to re-create the types and services needed. You should use an existing RODL when the two libraries depend on each other and the new library will physically build on the existing one.

Think of it as the difference between copy/pasting a class to your new project by pasting it in a new source file (Import a RODL), as opposed to merely referencing the existing unit that implements it (Use Existing RODL).

See Also