🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: borland.public.cppbuilder.migration
Article #138

Re: C++ Builer 2007 problem

#138
From: Michael Corby
Date: Wed, 09 Jul 2008 08:52
80 lines
4364 bytes
Solved the problem by adding vcldb.lib to the dll project.

Michael Corby

"Michael Corby" <mcorby@indigo.ie> wrote in message 
news:486f50fa@newsgroups.borland.com...
>
> I have put the entire code which incorporates the "TDBEedit" line into a 
> new VCL FORMS
> project as you suggested and it builds correctly. However when I put the 
> same code
> into a new DLL project it gives the linker error.
> It also gives the same error for TDBComboBox, TDBLookupComboBox and 
> TDBRadioGroup.
> "#include <DBCtrls.hpp>" line is included.
>
> This is one of a number of DLLs I wrote which incorporate generic data 
> entry and
> other routines and I have being using these without problems in various 
> projects
> for a number of years.
>
> Michael Corby
>
> "Leo Siefert" <lIHATESPAMsiefert@senate.michigan.gov> wrote in message 
> news:egdp64pkvj2ufp2cj6uuj92530sfdoe3qk@4ax.com...
>> Michael Corby wrote:
>>
>>>static_cast<TDBEdit*>(fName->Components[n])->ReadOnly = false;
>>>
>>>[ILINK32 Error] Error: Unresolved external '__fastcall
>>>Dbctrls::TDBEdit::SetReadOnly(bool)'
>>>referenced from C:\USERS\PUBLIC\DOCUMENTS\RAD
>>>STUDIO\PROJECTS\DLLFILES\DEBUG_BUILD\DLLFORM.OBJ
>>
>> The fact that you have a linker error shows that your code has been
>> compiled without errors.
>>
>> The linker error indicates that it is unable to locate the VCL library
>> module containing the code for the DBEdit control.
>>
>> If you have imported the project from an earlier version of C++
>> builder you should check the imported library paths to make sure that
>> they are correct.
>>
>> If this happens in a new project, then either you have overridden the
>> default settings of the IDE or the install is bad.
>>
>> I tested the type of code you are using in a simple project by
>> dropping a TDBEdit control on the form and adding an OnClick handler
>> with this code:
>>
>> void __fastcall TForm3::DBEdit1Click(TObject *Sender)
>> {
>> static_cast<TDBEdit*>(Sender)->ReadOnly = false;
>> }
>>
>> The project builds correctly.
>>
>> You could try doing the same in your copy of C++ Builder 2007. If that
>> works (if it links with no errors) then you know that the problem is
>> somewhere in the project file for the project that does not work. If
>> that fails, then I suggest that you either uninstall and reinstall C++
>> Builder or perform a repair install to try to correct the problem.
>>
>> If the problem is in your project settings, you can compare the paths
>> and the list of runtime packages in the project options dialog for
>> your old project against those in the one that works. Or, you can just
>> create a new project and add to it the files from your old project.
>>
>> BTW - it is safer (but slower) to use a dynamic_cast<> than a
>> static_cast<> in situations like this unless you are certain that your
>> code ensures that only TDBEdit pointers can be contained in the array.
>> If only TDBEdit pointers can be in the array, then it would be cleaner
>> and more transparent to declare it as an array of TDBEdit pointers and
>> avoid the cast altogether. A cast is often a sign that your code can
>> be improved.
>>
>> - Leo
> 
Technical Details
Message-ID: <48747c49@newsgroups.borland.com>
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!club-internet.fr!feedme-small.clubint.net!news.isoc.lu!newsgroups.borland.com!not-for-mail
References: <486bbcd3@newsgroups.borland.com> <egdp64pkvj2ufp2cj6uuj92530sfdoe3qk@4ax.com> <486f50fa@newsgroups.borland.com>

Show Full Headers
Complete Article Headers
X-Google-Thread: 110f51,fb2c2c2025b1b3f9
X-Google-Attributes: gid110f51,domainid0,public,usenet
X-Google-Language: ENGLISH,ASCII-7-bit
From: "Michael Corby" <mcorby@indigo.ie>
Newsgroups: borland.public.cppbuilder.migration
References: <486bbcd3@newsgroups.borland.com> <egdp64pkvj2ufp2cj6uuj92530sfdoe3qk@4ax.com> <486f50fa@newsgroups.borland.com>
In-Reply-To: <486f50fa@newsgroups.borland.com>
Subject: Re: C++ Builer 2007 problem
Date: Wed, 9 Jul 2008 09:52:56 +0100
Lines: 81
MIME-Version: 1.0
Content-Type: text/plain;
 format=flowed;
 charset="iso-8859-1";
 reply-type=response
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Windows Mail 6.0.6001.18000
X-MimeOLE: Produced By Microsoft MimeOLE V6.0.6001.18000
NNTP-Posting-Host: 86.41.199.61
Message-ID: <48747c49@newsgroups.borland.com>
X-Trace: newsgroups.borland.com 1215593545 86.41.199.61 (9 Jul 2008 01:52:25 -0700)
Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!feeder1-2.proxad.net!proxad.net!feeder1-1.proxad.net!club-internet.fr!feedme-small.clubint.net!news.isoc.lu!newsgroups.borland.com!not-for-mail