Delphi 7 and Recompiling Core Packages

Hello people, I'm want to change some core componentes of my delphi 7, like 
imagelist (to add png/xp color support), treeview, listview and even 
treader/twriter, but i really need to recompile vcl70.bpl to enable the 
changes in ide. Is this possible?
I create a vcl.bpl by double clicking on a required clause, compile, but if 
i move thart generated package over the old vcl70.bpl, delphi just throw a 
access violation and don't run; i think that is something related to the 
options of the package...
0
Anonymous
8/17/2008 3:14:09 AM
embarcadero.delphi.ide 3925 articles. 0 followers. Follow

7 Replies
1489 Views

Similar Articles

[PageSpeed] 43

Sergio Gianezini wrote:

> Hello people, I'm want to change some core componentes of my delphi
> 7, like imagelist (to add png/xp color support), treeview, listview
> and even treader/twriter, but i really need to recompile vcl70.bpl to
> enable the changes in ide. Is this possible?
> I create a vcl.bpl by double clicking on a required clause, compile,
> but if i move thart generated package over the old vcl70.bpl, delphi
> just throw a access violation and don't run; i think that is
> something related to the options of the package...

If you're making any interface changes to the units (such as
adding/removing fields, adding/removing virtual methods, changing
numbers and types of parameters on methods), you're going to most
certainly cause these kinds of problems. The IDE was built against a
specific version of the units and expects fields, methods, VMT slots to
all be at certain offsets. Any changes to that and the code in the IDE
will overwrite memory, call the wrong virtual method, and wreak all
kinds of general havoc.

In short, don't do that.

-- 
Allen Bauer
CodeGear/Embarcadero
Chief Scientist
http://blogs.codegear.com/abauer
0
Allen
8/17/2008 3:45:21 AM
Allen Bauer wrote:
> Sergio Gianezini wrote:
>
>   
> certainly cause these kinds of problems. The IDE was built against a
> specific version of the units and expects fields, methods, VMT slots to
> all be at certain offsets. Any changes to that and the code in the IDE
> will overwrite memory, call the wrong virtual method, and wreak all
> kinds of general havoc.
>
> In short, don't do that.
>
>   

Why is Delphi's IDE hard coded to use specific Offsets, etc. etc.?
0
Yogi
8/17/2008 6:57:34 AM
Yogi Yang wrote:

> Allen Bauer wrote:
> > Sergio Gianezini wrote:
> > 
> >   
> > certainly cause these kinds of problems. The IDE was built against a
> > specific version of the units and expects fields, methods, VMT
> > slots to all be at certain offsets. Any changes to that and the
> > code in the IDE will overwrite memory, call the wrong virtual
> > method, and wreak all kinds of general havoc.
> > 
> > In short, don't do that.
> > 
> >   
> 
> Why is Delphi's IDE hard coded to use specific Offsets, etc. etc.?

That is not an IDE-sepecific problem. Any application that is build
with run-time packages needs to be rebuild when the exported interface
of one of the packages it uses changes. And it will change when
anything in the interface part of a unit the package contains changes.

-- 
Peter Below (TeamB)  
Don't be a vampire (http://slash7.com/pages/vampires), 
use the newsgroup archives :
http://www.tamaracka.com/search.htm
http://groups.google.com
0
Peter
8/17/2008 7:53:31 AM
Sergio Gianezini wrote:

> Hello people, I'm want to change some core componentes of my delphi
> 7, like imagelist (to add png/xp color support), treeview, listview
> and even treader/twriter, but i really need to recompile vcl70.bpl to
> enable the changes in ide. Is this possible?
> I create a vcl.bpl by double clicking on a required clause, compile,
> but if i move thart generated package over the old vcl70.bpl, delphi
> just throw a access violation and don't run; i think that is
> something related to the options of the package...

You cannot rebuild the packages that come with Delphi. It violates your
licence, for one, and you don't have everything required in terms of
source for some of the packages. What you can do, however, is to create
your own packages (with different names) from the Delphi units for use
in your own programs. If you need to change the design-time part for
some of the prebuilt components you would have to uninstall the
standard package they are in and make your own design-time package as
well. That may loose you some of the component and property editors,
though, since you don't have the units for some of them.

-- 
Peter Below (TeamB)  
Don't be a vampire (http://slash7.com/pages/vampires), 
use the newsgroup archives :
http://www.tamaracka.com/search.htm
http://groups.google.com
0
Peter
8/17/2008 8:02:05 AM
I don't want to be harsh to you, but everything I ask, you say the same 
"It's a violation of licence"... :(
I fix my needs in a unusual way (redirected code with madshi units), so, 
this is the way?
You can't fix in a simple, fast and direct way, 'cause is a violation of 
license, you need to fix in a unusual, unsafe and strange way. Very strange 
to maintain the quality of the product no?
0
sergio_ag
8/17/2008 8:17:35 PM
Peter Below wrote:

> You cannot rebuild the packages that come with Delphi. It violates
> your licence..

Even for his own, private use? I doubt it is a problem as long as he
doesn't redistribute those packages.

-- 
Dave Nottage [TeamB]
0
Dave
8/17/2008 11:54:01 PM
Dave Nottage wrote:

> Even for his own, private use? I doubt it is a problem as long as he
> doesn't redistribute those packages.

It could screw up any other Delphi-written program on his PC. The
licence is there explicitely to prevent DLL (package) hell for the
standard packages.

-- 
Peter Below (TeamB)  
Don't be a vampire (http://slash7.com/pages/vampires), 
use the newsgroup archives :
http://www.tamaracka.com/search.htm
http://groups.google.com
0
Peter
8/18/2008 6:41:33 PM
Reply:

Similar Artilces:

DesignIDE package and porting Delphi 7 components to Delphi XE2
HI I am porting components from Delphi7 to Delphi XE2, and started run in problems regarding MaskProp.dcu, some of the components uses this, and is looking for TMaskProperty class. After a lot of browsing on the net i figured out that all these units is packaged in the designide.dcp. So i have the design time component in a package that requires the designide.dcp and then the runtime component package that reguires the designtime package for the component. In the runtime component package i get errors regarding the MaskProp.dcu and the TMaskProperty class. I dont know what to do from ...

Is it posible to configure Delphi XE3 IDE to use Delphi 7 compiler/debuger
Hi! Like many other developer out there I have several project which has been developed with older version of Delphi (Delphi 7). Since theese projects rely on some components which are not compatible with newer versions of Delphi (no newer versions available) I'm forced to do any maintnance on theese projects using Delphi 7. Another solution would be to find replacment components which would provide me with same capabilities and work with latest versions of Delphi. But this would probbably require compleete rewritings of my projects (lots and lots of work). So currently I'm using...

Delphi 7 to Delphi XE
Have been using Delphi 7 for many moons ( have got later versions but never upgraded to ) My first problem is: Component Palette. in XE it is a small toolbar docked in top right in Delphi 7 it gives a large view of all the components. I am struggling to be able to cope/access my components.in Delphi XE. Can I make the component pallette tool bar the same size as Delphi 7, or is there a fast way to view/choose all available components in XE, that I have not spotted yet? Kind Regards, Robert. Hi, What I know is that in Delphi 2010 and XE you can choose between t...

Delphi 2007 to Delphi 7
I've written a class in Delphi 2007 that is not supported in Delphi 7. What would be the best way to achive what I've done in Delphi 2007 in Delphi 7? Thanks, Tom type BondConstants = class { Bond Types } type BondType = record const TREASURY = 3; AGENCY = 0; CORP = 1; MUNI = 2; SBA = 5; MBS = 4; CMO = 6; end; { Day Count Methods } type DayCount = record const ACTUAL_360 = 2; ACTUAL_365 = 1; ACTUAL_ACTUAL = 1; d30_360 = 0; ...

Delphi 7 to Delphi XE2
Hi, Still using that old workhorse, Delphi7, but am going to the conference in London hosted by Embarcadero on Delphi XE2. Although I would like to "move with the times" and am keen to get the UNICODE and 64-bit support offered by the latest IDEs, I confess to being more than a little scared about all the UNICODE/String/AnsiString and 32/64 bit issues I'm probably going to fall over. Anyone recently upgraded from Delphi7 to one of the latest Delphi IDEs? Thanks, Alain On 03/02/2012 08:55, Alain Dekker wrote: > Still using that old workhorse, Delphi7, but...

I wrote an application and used cracked delphi 7, after i bought delphi 7
I wrote an application and used cracked delphi 7, I sold it, after i bought delphi 7 and recompiled application, is now my application legal or? > {quote:title=Ivan Ivanov wrote:}{quote} > I wrote an application and used cracked delphi 7, I sold it, after i bought delphi 7 and recompiled application, is now my application legal or? "I embezzled some money from my employer, returned the funds, and then got it back as a bonus. Can I still be arrested?" Uhhh .... didn't you just confess to a crime? > {quote:title=Ivan Ivanov wrote:}{quote} > I wrote an appli...

Using Delphi 7 and Delphi 2010
I had a project in Delphi 7. I worked on it in Delphi 2010. When I try to open the .dpr again in Delphi 7, the IDE toolbar widens across both monitors, and Delphi 7 locks up. It appears that Delphi 2010 modifies the .dpr in a way that makes Delphi 7 unable to open it again. All my forms & units appear to open fine in D7 after D2010, except for the warnings on the ExplicitHeight and ExplicitWidth properties being missing... I can easily recreate the .dpr, but is this expected behavior? Thanks. Tom Field wrote: > I had a project in Delphi 7. > > I worked o...

Migrating From Delphi 7 to Delphi 2010
We did not know which forum was the best for this question. We have been wanting to migrate from Delphi 7 to a later version for years but it appears to be a daunting task. We first looked at D2006 and that was a radical new world. We bought D2010 a couple of years ago and not done much with it because there are so many parts to our applications. We have done a few new applications in D2010 and they seem to work okay. D2010 has not been impressive, perhaps because of the strangeness compared to D7. Is is possible for us to do a phased sort of migration where we do a form at a time? ...

Migrating from Delphi 7 to Delphi XE3
Hello, Its time to leave the old Delphi 7 and move to the new (but not the latest) XE3. I was wondering if there is a good book or reference to learn all new things XE3 added. Any suggestions? On 5/3/2013 10:17 PM, George Karatsiolis wrote: > Hello, Its time to leave the old Delphi 7 and move to the new (but not the latest) XE3. > I was wondering if there is a good book or reference to learn all new things XE3 added. Try this one for starters: http://tinyurl.com/cgsu243 Aside from that you really need to evaluate your application. XE3 is Unicode for example.... So her...

Delphi 2007 RTL in Delphi 7
I read somewhere that it is possible to use Delphi 2007's (or for that matter Delphi 2006's) RTL in Delphi 7 by just recompiling the source of RTL. Is this really possible? What are the benefits that we can derive using a higher version's RTL? TIA Yogi Yang Yogi Yang wrote: > I read somewhere that it is possible to use Delphi 2007's (or for > that matter Delphi 2006's) RTL in Delphi 7 by just recompiling the > source of RTL. If it actually compiles in Delphi 7, I guess it would be possible. OTOH, if one has Delphi 2007 already, I don't s...

Delphi 7 to Delphi 2009 conversion
Hello group, What do I need to do to comile the following code in D2009. Compiler error after the Else E2010: Incompatible Types 'AnsiChar' and 'Char' if isUnicode then SearchHandle := FindFirstFilew( PWideChar( fn ), FindDataW ) else SearchHandle := FindFirstFile( PAnsiChar( Ansistring( fn ) ), FindDataA ); <<<<<compiler error in the above line >>>>>>>>>>> Regards, Bryan > What do I need to do to comile the following code in D2009. > Compiler error after the Else > E2010: Incompati...

Unofficial Delphi 7 updates
Anybody noticed, even tried this Enhanced Run Time library for Delphi ? It's a hack of the D7 RTL/VCL http://blog.synopse.info/post/2009/12/20/Enhanced-Run-Time-library-for-Delphi-7 It's very interesting and I'd like to know it's stability. Edwin Ye wrote: > Anybody noticed, even tried this Enhanced Run Time library for Delphi > ? It's a hack of the D7 RTL/VCL This library violates Delphi's license (redistributing of RTL/VCL source files is not allowed). The last post was deleted and I'm sure this one will be deleted, too. -- Andreas H...

Moving from Delphi 7 to Delphi 2007
Is there any compelling reason to move (quite a large project) from Delphi 7 to Delphi 2007? Specifically, is there better Vista/Win7/Win8 integration provided by Delphi 2007? (In the project I am already using a custom manifest file for Vista/Win7 etc.. and not the std XPMan component) Does 2007 add any new bugs to the scene? Thanks Rael Rael wrote: > Is there any compelling reason to move (quite a large project) from > Delphi 7 to Delphi 2007? If you are going to upgrade, why not upgrade to something newer? > In the project I am already using a custom man...

Delphi 7 IDE
Sorry, I tried to post this to the IDE group, but got "posting not allowed" error. When starting Delphi 7 (all patches applied), with the load last project option, only the object inspector, object treeview, code window and form show up. The IDE / component bar are not opened. Anyone have this happen before? Is there a fix for it? Nothing found with google or newsgroup search, sorry. Charles Collins wrote: > When starting Delphi 7 (all patches applied), with the load last > project option, only the object inspector, object treeview, code > window and ...

Web resources about - Delphi 7 and Recompiling Core Packages - embarcadero.delphi.ide

Resources last updated: 1/22/2016 6:01:16 AM