Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

VCL.Net component errors

5 views
Skip to first unread message

Stephen Boyd

unread,
Jun 23, 2008, 5:23:43 PM6/23/08
to
Rad Studio is frustrating me severely. Again!!!

I have finished porting the VCL component to VCL.Net. Everything was
working except for a couple of minor problems. I made the changes,
recompiled the component and replaced the DLL in the BPL directory so
that Rad Studio would get the new version. I stopped and restated the
IDE. I know that is is finding the right version of the DLL because the
fixes that I made are working. Now when I try to compile my test
project that uses the component I am getting the following error.

[Fatal Error] Esbase.pas(230): F2051 Unit Essentials.EsClrCbx was
compiled with a different version of Essentials.Esbase.IAttachedLabel

This is a lie. Every unit in the DLL has been compiled. I have check
the dates on the dcuils. In fact, the changes that were made had
nothing to do with IAttachedLabel. Does anyone have any idea what the
problem might be before I take an axe to this thing. Aaaarrrgggghhhh!

John Moshakis

unread,
Jun 23, 2008, 6:38:13 PM6/23/08
to
Stephen Boyd wrote:

>
> [Fatal Error] Esbase.pas(230): F2051 Unit Essentials.EsClrCbx was
> compiled with a different version of Essentials.Esbase.IAttachedLabel
>

Hi Stephen,

I'm just doing web development which means I mostly create packages and
the actual web application, so I don't know if its relevant. I find its
important to have separate sub-directories just for project dcuil files
and make sure that there is only ever one dcpil file. Either create
dcpil files in the same folder as the dll or have every related project
output them to the same directory and add that to the search path.

Cheers,
John

--
Blog: http://blog.moshine.com/

Stephen Boyd

unread,
Jun 24, 2008, 9:01:07 AM6/24/08
to
>
> Hi Stephen,
>
> I'm just doing web development which means I mostly create packages and
> the actual web application, so I don't know if its relevant. I find its
> important to have separate sub-directories just for project dcuil files
> and make sure that there is only ever one dcpil file. Either create
> dcpil files in the same folder as the dll or have every related project
> output them to the same directory and add that to the search path.
>
I already have separate directories for the dcuil files, but I don't
have a separate directory for the dcpil files. In fact, until this
moment, I have never heard of a dcpil. What are those for?

Stephen Boyd

unread,
Jun 24, 2008, 10:21:06 AM6/24/08
to
Stephen Boyd wrote:
>>
> I already have separate directories for the dcuil files, but I don't
> have a separate directory for the dcpil files. In fact, until this
> moment, I have never heard of a dcpil. What are those for?

I did some research on dcpil files and these are the same as the old dcp
files in Delphi 5. Never gave them much though in Delphi 5. They were
created in the proper place when you compiled your package. No big deal.

The thing that was causing the problem was my ignorance of the way
namespaces are implemented in Delphi.Net. When I started working on
this package, I created the project using a Default Namespace in the
project options. I thought that this was going to save me all kinds of
effort vis-a-vis renaming the source files to include the namespace,
etc. In fact, this is what was causing all of my problems. I named the
package E200_D2007.dll with a default namespace of Essentials. This
created the DLL and the dcpil with different names. The dll was
E200_D2007.dll and the dcpil was Essentials.E200_D2007.dcpil. So, even
though the IDE could find the DLL and everything seemed fine, it
couldn't find the dcpil and had a snit when it came time to build the
test project.

I got rid of the default namespace, renamed all my source files and
rebuilt everything. Now the dll and dcpil files have the same name and
it works like a charm.

0 new messages