Board index » delphi » VCL50.BPL error

VCL50.BPL error

I have a medium sized program (47,000 lines including third party zip &
tGif packages and a few components of my own).

Everything works fine and a full build shows no hints, warnings or
errors.  The program runs with a very small (12 bytes detected by
memproof) memory link that seems to be connected with my use of a
CreateMutex to ensure that only one copy of the program is running or my
use of a custom icon.  Since the leak is so small I have not spent much
time trying to fix it.

When I try to add a new field to any of my tables I get an error.  It
works fine if I delete and add existing "real" fields but I want to add
a calculated field to this table.  I have done this before to other
tables without problems.

The error is : "Access violation address 400039f8 in module vcl50.bpl.
Read of address 40766614".

Since I added a new system disk a few months back and still had the old
system disk installed as drive D:, I copied the two VCL50 files from the
old disk to the new one.  They were exactly the same size, date and time
stamp so should be no version problems.  This made no difference in the
error.

Like most of us it seems, I have gotten the odd error message in the
past but a full build, a save and reload or a save, system reboot and
reload always made them go away.  I have even tried a full power
shutdown but the problem remains the same.

If I cancel the error it will let me type a field name but gives an
error after each letter and does not automatically generate the
component name.  It will allow the component name to be typed in and it
seems to add the field correctly but I don't feel safe having to do it
this way.

I have about 40 tables.  Many are read only second views into the same
physical database (Paradox). Many also have master relationships.  All
of the tables are in a data module and I have not made any changes to
this module in a few weeks.

The error comes up on every table I tried including master tables, slave
tables and standalone tables.

Help!!

...Jim

 

Re:VCL50.BPL error


On Sun, 17 Jun 2001 02:42:55 -0700, Jim Andrews <j...@azdogs.com>
wrote:

<snip>

Quote
>When I try to add a new field to any of my tables I get an error.  It
>works fine if I delete and add existing "real" fields but I want to add
>a calculated field to this table.  I have done this before to other
>tables without problems.

>The error is : "Access violation address 400039f8 in module vcl50.bpl.
>Read of address 40766614".
>  <snip>

>...Jim

I have had some success with D2 and D4 with the following procedure. I
haven't had exactly your problem, but this might work:

1. backup your project directory.
2. print a copy of the .dpr file. This is to make a record of the
creation order of the units; which ones are autocreated and in what
order. Also, any extra code you may have put in the project file, such
as a splash screen.
3. delete all of the project files: myproj.exe, myproj.dpr, etc. Do
not delete any unit files or dlls, etc.
4. start a new project with the same name you used before.
5. add in all the units.
6. using the copy of the old dpr file, set the creation order of the
autocreate units, and move the rest, which are not autocreated, to the
'available' list. (this is done in the Project | Options | Forms tab)
7. at this point, check the project file (Project | View Source)
8. compile the project. With any luck at all, this will have cleared
out the source of the problem.

HTH,
Dan
--
Dan Brennand
CMDC systems, inc.
Configuration Management and Document Control:
visit us at www.cmdcsystems.com
[SPAM block: change at to @ in my e-mail address]

Re:VCL50.BPL error


Dan Brennand <D...@CMDCsystems.com> wrote

Quote
> On Sun, 17 Jun 2001 02:42:55 -0700, Jim Andrews <j...@azdogs.com>
> wrote:

> <snip>
> >When I try to add a new field to any of my tables I get an error.
It
> >works fine if I delete and add existing "real" fields but I want to
add
> >a calculated field to this table.  I have done this before to other
> >tables without problems.

> >The error is : "Access violation address 400039f8 in module
vcl50.bpl.
> >Read of address 40766614".
> >  <snip>

> >...Jim

> I have had some success with D2 and D4 with the following procedure.
I
> haven't had exactly your problem, but this might work:

> 1. backup your project directory.
> 2. print a copy of the .dpr file. This is to make a record of the
> creation order of the units; which ones are autocreated and in what
> order. Also, any extra code you may have put in the project file,
such
> as a splash screen.
> 3. delete all of the project files: myproj.exe, myproj.dpr, etc. Do
> not delete any unit files or dlls, etc.
> 4. start a new project with the same name you used before.
> 5. add in all the units.
> 6. using the copy of the old dpr file, set the creation order of the
> autocreate units, and move the rest, which are not autocreated, to
the
> 'available' list. (this is done in the Project | Options | Forms tab)
> 7. at this point, check the project file (Project | View Source)
> 8. compile the project. With any luck at all, this will have cleared
> out the source of the problem.

I don't see how that will help, it also seem to be an awful lot of
work.
I suspect that it is a corrupted package (being a bpl), alternatively
the wrong version of the package.
I would recommend:
1. Delete all dcu files (the compiler cannot always cope with the
way I am working, i.e. it sometimes does not recognise that a pas
file has changed and the dcu need to be recompiled)
2. Recompile project
3. Test
If problem persists
4. Compile without packages
5. Test
If problem persists
6. Copy/restore a 'good' bpl or re-install Delphi

Peter Reber

Re:VCL50.BPL error


On Mon, 18 Jun 2001 06:14:36 +0200, "peterr"
Quote
<pet...@freemail.absa.co.za> wrote:

<snip>

Quote

>I don't see how that will help, it also seem to be an awful lot of
>work.

Peter, I don't know how it helps, but it does work. I suspect, as you
do, that there is something corrupted, either in one of the dcu files,
or in one of the project files that Delphi keeps for each project.
Yes, it is a lot of work, but a lot less work than trying to find out
what is wrong with my code today that was not wrong yesterday.

Quote
>I suspect that it is a corrupted package (being a bpl), alternatively
>the wrong version of the package.
>I would recommend:
>1. Delete all dcu files (the compiler cannot always cope with the
>way I am working, i.e. it sometimes does not recognise that a pas
>file has changed and the dcu need to be recompiled)
>2. Recompile project
>3. Test

This is also effective, and I have used it successfully. I should have
remembered to suggest this trick first.

Dan

Quote
>If problem persists
>4. Compile without packages
>5. Test
>If problem persists
>6. Copy/restore a 'good' bpl or re-install Delphi

>Peter Reber

--
Dan Brennand
CMDC systems, inc.
Configuration Management and Document Control:
visit us at www.cmdcsystems.com
[SPAM block: change at to @ in my e-mail address]

Re:VCL50.BPL error


Thanks everyone.

I forced a recompile of the dclusr50 and the problem went away.  Came back
once.  Eliminated one of the files that I was not using in dclusr50 and
did a second recompile and have not seen it for a while.  I don' t
understand the connection between the dclusr50 and the bpl but that seems
to have been it.

...Jim

Quote
Dan Brennand wrote:
> On Mon, 18 Jun 2001 06:14:36 +0200, "peterr"
> <pet...@freemail.absa.co.za> wrote:
> <snip>

> >I don't see how that will help, it also seem to be an awful lot of
> >work.

> Peter, I don't know how it helps, but it does work. I suspect, as you
> do, that there is something corrupted, either in one of the dcu files,
> or in one of the project files that Delphi keeps for each project.
> Yes, it is a lot of work, but a lot less work than trying to find out
> what is wrong with my code today that was not wrong yesterday.

> >I suspect that it is a corrupted package (being a bpl), alternatively
> >the wrong version of the package.
> >I would recommend:
> >1. Delete all dcu files (the compiler cannot always cope with the
> >way I am working, i.e. it sometimes does not recognise that a pas
> >file has changed and the dcu need to be recompiled)
> >2. Recompile project
> >3. Test
> This is also effective, and I have used it successfully. I should have
> remembered to suggest this trick first.

> Dan

> >If problem persists
> >4. Compile without packages
> >5. Test
> >If problem persists
> >6. Copy/restore a 'good' bpl or re-install Delphi

> >Peter Reber

> --
> Dan Brennand
> CMDC systems, inc.
> Configuration Management and Document Control:
> visit us at www.cmdcsystems.com
> [SPAM block: change at to @ in my e-mail address]

Other Threads