package conversion from Delphi 5 to Delphi 2010

Hello,

I am evaluating 2010 to convert a delphi 5 app up.  My first task is to convert some custom control packages.  My requires statment looks like this:

requires
  vcl50,
  Vclx50,
  VclSmp50,
  Vcldb50,
  vcljpg50,

What are the delphi 2010 equivalents if any?  Is there documentation that I could look at to help with the conversion process?

Thanks..

...Joe..
1
joe
1/28/2010 4:38:53 PM
📁 embarcadero.delphi.general
📃 4258 articles.
⭐ 0 followers.

💬 8 Replies
👁️‍🗨️ 2314 Views

joe alaimo wrote:

> requires
>   vcl50,
>   Vclx50,
>   VclSmp50,
>   Vcldb50,
>   vcljpg50,


140 is the 2010 version.

> 
> What are the delphi 2010 equivalents if any?  Is there documentation
> that I could look at to help with the conversion process?


Open the project in the Delphi IDE, use Project Manager to select the
X50 packages, delete all, Rebuild the project and the IDE will add
automatically all required packages with the right name.



Cesar Romero
0
Cesar
1/28/2010 4:45:32 PM
joe alaimo wrote:

> requires
>   vcl50,
>   Vclx50,
>   VclSmp50,
>   Vcldb50,
>   vcljpg50,
> 
> What are the delphi 2010 equivalents if any? 

In the requires section, you should simply remove the 50. In modern
versions, you don't specify the 50 anymore for the .dcp (that is what
you link to in the requires section), only for the .bpl.
-- 
Rudy Velthuis (TeamB)        http://www.teamb.com

"Secular schools can never be tolerated because such schools
 have no religious instruction, and a general moral instruction
 without a religious foundation is built on air; consequently,
 all character training and religion must be derived from faith
.... we need believing people."
 -- Adolf Hitler
0
Rudy
1/28/2010 5:52:31 PM
Thanks for your reply.  This worked but I have now hit another snag in the same compile.  One of the pas files references dsgnintf.pas which used to be in the toolsapi directory.

I can no longer find this at all in 2010.  Is there an equivalent or a workaround?

Thanks..

...Joe..

> {quote:title=Rudy Velthuis (TeamB) wrote:}{quote}
> joe alaimo wrote:
> 
> > requires
> >   vcl50,
> >   Vclx50,
> >   VclSmp50,
> >   Vcldb50,
> >   vcljpg50,
> > 
> > What are the delphi 2010 equivalents if any? 
> 
> In the requires section, you should simply remove the 50. In modern
> versions, you don't specify the 50 anymore for the .dcp (that is what
> you link to in the requires section), only for the .bpl.
> -- 
> Rudy Velthuis (TeamB)        http://www.teamb.com
> 
> "Secular schools can never be tolerated because such schools
>  have no religious instruction, and a general moral instruction
>  without a religious foundation is built on air; consequently,
>  all character training and religion must be derived from faith
> ... we need believing people."
>  -- Adolf Hitler
0
joe
1/28/2010 8:31:09 PM
> Thanks for your reply.  This worked but I have now hit another snag in the same compile.  One of the pas files references dsgnintf.pas which used to be in the toolsapi directory.
> 
> I can no longer find this at all in 2010.  Is there an equivalent or a workaround?

Since Delphi 6 DsgnIntf got replaced by DesignIntf, DesignWindows and 
DesignEditors. Depending on your needs you might only need a subset. Google for 
these unit names for more information.

-- 
Jens Gruschel
http://www.pegtop.net
0
Jens
1/28/2010 10:06:05 PM
joe alaimo wrote:

> Thanks for your reply.  This worked but I have now hit another snag
> in the same compile.  One of the pas files references dsgnintf.pas
> which used to be in the toolsapi directory.
> 
> I can no longer find this at all in 2010.  Is there an equivalent or
> a workaround?

Do the following:

Create two packages, one as runtime package and one as designtime
package. The runtime package contains all units that do not reference
dsgnintf. It should require (reference) the vcl, vclx, etc. packages.
The designtime package should require the runtime package and
designide.dcp (Add Reference in the project manager).

The designtime and runtime package must be installed in the IDE. The
runtime package is also used for programs (the designtime package only
works in the IDE).


-- 
Rudy Velthuis (TeamB)        http://www.teamb.com

"Did you ever walk in a room and forget why you walked in? I think
 that's how dogs spend their lives." -- Sue Murphy.
0
Rudy
1/29/2010 8:56:35 PM
Hi Rudy,

Is this a requirement to split it out this way?

The reason that I ask is that by replacing dsgnintf with designintf, I was able to compile and install the package.  The components now show up on my button bar.

However, when I use a control I get a problem.  I built a test project with one form and one of these controls. When I attempt to compile this test app, it says that File Not Found: DesignIntf.dcu.

Is this because I did not split it out or is there another reason?  I thought that DesignIntf is built into D2010 so it would be able to find the dcu if needed.

Thanks..

...Joe..


> {quote:title=Rudy Velthuis (TeamB) wrote:}{quote}
> joe alaimo wrote:
> 
> > Thanks for your reply.  This worked but I have now hit another snag
> > in the same compile.  One of the pas files references dsgnintf.pas
> > which used to be in the toolsapi directory.
> > 
> > I can no longer find this at all in 2010.  Is there an equivalent or
> > a workaround?
> 
> Do the following:
> 
> Create two packages, one as runtime package and one as designtime
> package. The runtime package contains all units that do not reference
> dsgnintf. It should require (reference) the vcl, vclx, etc. packages.
> The designtime package should require the runtime package and
> designide.dcp (Add Reference in the project manager).
> 
> The designtime and runtime package must be installed in the IDE. The
> runtime package is also used for programs (the designtime package only
> works in the IDE).
> 
> 
> -- 
> Rudy Velthuis (TeamB)        http://www.teamb.com
> 
> "Did you ever walk in a room and forget why you walked in? I think
>  that's how dogs spend their lives." -- Sue Murphy.
0
joe
1/29/2010 9:33:58 PM
joe alaimo wrote:

> Hi Rudy,
> 
> Is this a requirement to split it out this way?

Yes, since units like the ones you mention are only available inside
the IDE (and you are not allowed to distribute the packages that
contain them).

IOW, you can't use designtime-only code outside the IDE. Runtime code
can be used anywhere, so you should split out the units that need the
IDE to function.

-- 
Rudy Velthuis (TeamB)        http://www.teamb.com

"A lady came up to me on the street, pointed at my suede jacket 
 and said, 'Don't you know a cow was murdered for that jacket?' 
 I said 'I didn't know there were any witnesses. Now I'll have to 
 kill you too'." -- George Carlin
0
Rudy
1/29/2010 10:57:07 PM
<joe alaimo> wrote in message news:208423@forums.codegear.com...

> Is this a requirement to split it out this way?

Yes, and always has been.  Old versions did not enforce it as much, but did 
support it.  Design-time code does not belong in run-time executables, it is 
restricted by Borland/CodeGear/Embarcadero licensing, and can only be used 
by the IDE anyway.

> The reason that I ask is that by replacing dsgnintf with designintf, I was
> able to compile and install the package.  The components now show
> up on my button bar.

That does not mean it is right, though.  The only design-time function that 
is allowed in a run-time package is RegisterComponents() (and related 
functions), and only because it is implemented in the Classes unit.  As long 
as your component does not use custom design-time editors, it is ok to use a 
single package that is both a run-time package and a design-time package. 
But if you do write your own custom editors for the component, then you must 
implement separate run-time-only and design-time-only packages.

> However, when I use a control I get a problem.  I built a test project 
> with one
> form and one of these controls. When I attempt to compile this test app, 
> it says
> that File Not Found: DesignIntf.dcu.

The DesignIntf and related units can never be used in a run-time package. 
If you need to use those units, then you must separate your code properly.

-- 
Remy Lebeau (TeamB)
0
Remy
1/31/2010 7:08:09 AM
Reply: