Hi, I was in the understanding that applications created with Codegear/Delphi did not need any external libraries and that it compiled all the code into the exe? However with Delphi 2009 (using C++), my programmes were asking for rtl120.bpl, and various dlls before it could be used.

I was wondering if someone could assist me by telling me how to make my compiler put everything it needs into the exe like it was promised.

Thankyou for the assistance.

Because you compiled it with runtime libraries - if you go the project options and turn it off. you wont.

Hmm... yeah I found that option and tried rebuilding it, the same problem occurred. Is there anything else that I can change to make sure it works? Because it asks for borlndmm.dll and cc3290mt.dll.

I thought perhaps it was because I was building it on Vista, and the person testing it was on XP. But there were no options to set the minimum OS for it to work on.

cc3290mt.dll isnt a default codegear/borland/embarcadero component, so its possible that its reliant on it because of that. the Borlndmm.dll is required because your other dll is most likely using it as well as sharing memory in your app (eg it passes strings not pchars)

So without cc3290mt.dll, it would not keep asking for borlndmm.dll?

I am not even sure what cc3290mt.dll is for, I am only using default components available to me and no third party stuff. Do you know how to find out what cc3290mt.dll is being used for and to turn it off?

cc3290mt.dll is a c builder file - dunno what it does, never really got into c builder - so, Im guessing you're using a 3rd party component, which means if you ditched the thing requiring the cc3290mt.dll, you ditch the borlandmm.dll too

Aha! Well I googled cc3290mt.dll.. and found out that by turning off "Dynamic RTL" it negates the need for this dll, it also fixed the borlndmm.dll problem too =] Thanks though!

Oh and more explicit instructions for those who also find this problem:

Go to project settings, then the C++ Linker item in the list, it is in the label itself, not one of the child nodes. "Dynamic RTL" set it to false. Also under package : uncheck build with runtime libraries.

OK, but thats only true if your stuff uses and rebuilds c++ and you said you had delphi 2009, not studio..

Yes and no.
Its a CBuilder item, and its specific to CBuilder. So it has something in c++ code (or you wouldnt be changing the c++ compile settings)

Knowing you have access to that makes a huge difference, as if you only owned Delphi 2009 (which is very plausable) you wouldnt have been able to recompile and change it.. where as you could still actually use it.

Okay =P sorry lol although in my first post I did mention I was using it with C++.

This question has already been answered. Start a new discussion instead.