Codejock Forums Homepage
Forum Home Forum Home > Codejock Products > Visual C++ MFC > Toolkit Pro
  New Posts New Posts RSS Feed - Linker Errors from XTPDocking Pane derived class
  FAQ FAQ  Forum Search   Events   Register Register  Login Login

Linker Errors from XTPDocking Pane derived class

 Post Reply Post Reply
Author
Message
franji1 View Drop Down
Groupie
Groupie
Avatar

Joined: 28 June 2005
Status: Offline
Points: 70
Post Options Post Options   Thanks (0) Thanks(0)   Quote franji1 Quote  Post ReplyReply Direct Link To This Post Topic: Linker Errors from XTPDocking Pane derived class
    Posted: 09 November 2006 at 10:59am
We are looking to upgrade our (rather large) product from version 8.6 to version 10.3 of the XTP toolkit (so far so good!).
 
I downloaded the "demo" version to see if I could switch it over "before I buy" (and see what cool features we get for free).
 
I am running into one problem.  In one of our DLLs, we have a class that inherits from CXTPDockingPane, and when we try to build that project, we get a set of link errors, all similar to the following:
 
LToolBox.obj : error LNK2001: unresolved external symbol "public: virtual long __thiscall CXTPAccessible::PutAccessibleValue(struct tagVARIANT,unsigned short *)" (?PutAccessibleValue@CXTPAccessible@@UAEJUtagVARIANT@@PAG@Z)
 
When I look at the header file (XTPManageState.h) that defines this method (CXTPAccessible, which is one of the multiple base classes for the XTPDockingPane), it states that these methods which generate lihnk errors are "obsolete", specifically PutAccessibleName, PutAccessibleValue.
 
We are also getting link errors on the following CXTPAccessible methods: GetAccessibleDefaultAction, GetAccessibleKeyboardShortcut, GetAccessibleHelpTopic, GetAccessibleHelp, GetAccessibleDescription, GetAccessibleValue, GetAccessibleName.
 
Are these methods not exported from the XTP export library?  Note that I am not getting any other linker errors for any other CXTPDockingPane (or base class) methods, so the linker is working.
 
I just checked our code and this is the only place where we inherit from the CXTPDockingPane class.
 
Note that we are NOT CALLING these methods, but since they are virtual, any object that I define that is derived (eventually) from CXTPAccessible must have linking knowledge of all virtual methods of any base classes.
 
If the answer is "you cannot inherit from the CXTPDockingPane with the demo version", that is totally acceptable (I plan on buying it anyway, it just gives me more ammo for justifying the purchase!!)
 
Any help would be greatly appreciated!  Thanks!!
Back to Top
Oleg View Drop Down
Admin Group
Admin Group


Joined: 21 May 2003
Location: United States
Status: Offline
Points: 11234
Post Options Post Options   Thanks (0) Thanks(0)   Quote Oleg Quote  Post ReplyReply Direct Link To This Post Posted: 09 November 2006 at 12:35pm
Hi,
 
Try to change this oiption
 
Configuration Properties->C/C++->Language->Treat wchar_t as Builtin Type = Yes.
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS
Back to Top
franji1 View Drop Down
Groupie
Groupie
Avatar

Joined: 28 June 2005
Status: Offline
Points: 70
Post Options Post Options   Thanks (0) Thanks(0)   Quote franji1 Quote  Post ReplyReply Direct Link To This Post Posted: 09 November 2006 at 2:01pm

That fixed it!

The question now becomes, is the built-in wchar_t memory size consistent with the unsigned short non-built-in type such that anything and everything that I may be using/linking (i.e. MFC, other 3rd party libraries).  Specifically, both are 16 bits long and there is no sign extension code for either "implementations".

I guess when I purchase the product, I can always edit the files and build our own XTP DLL (and call it something different) if this ever is an issue.
Back to Top
Oleg View Drop Down
Admin Group
Admin Group


Joined: 21 May 2003
Location: United States
Status: Offline
Points: 11234
Post Options Post Options   Thanks (0) Thanks(0)   Quote Oleg Quote  Post ReplyReply Direct Link To This Post Posted: 09 November 2006 at 4:53pm

Hello,

 
In Retail version you will be able open Toolkit's solution in IDE, change this option and rebuild library.
Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS
Back to Top
lorax1284 View Drop Down
Groupie
Groupie
Avatar

Joined: 10 September 2005
Location: Canada
Status: Offline
Points: 14
Post Options Post Options   Thanks (0) Thanks(0)   Quote lorax1284 Quote  Post ReplyReply Direct Link To This Post Posted: 19 October 2010 at 10:14pm
Originally posted by oleg oleg wrote:

Hi,
 
Try to change this oiption
 
Configuration Properties->C/C++->Language->Treat wchar_t as Builtin Type = Yes.


Hi... forgive me for being pedantic, but when I checked this, the default setting on Visual Studio 2008 was "Yes"... are you saying "change this option" where Yes should become No, or are you saying that the option should be changed so it = Yes?

I assume the latter but I'm getting build errors when running the 13.4.2 deployment wizard, and for the error I'm getting, all signs point to this setting.

Here's the exact error from the deployment wizard:

Copyright (C) Microsoft Corporation.  All rights reserved.
Linking...
   Creating library ../../lib/vc90/ToolkitPro1342vc90D.lib and object ../../lib/vc90/ToolkitPro1342vc90D.exp
XTPReportDataManager.obj : error LNK2019: unresolved external symbol "char * __stdcall _com_util::ConvertBSTRToString(wchar_t *)" (?ConvertBSTRToString@_com_util@@YGPADPA_W@Z) referenced in function "public: char const * __thiscall _bstr_t::Data_t::GetString(void)const " (?GetString@Data_t@_bstr_t@@QBEPBDXZ)
../../bin/vc90/ToolkitPro1342vc90D.dll : fatal error LNK1120: 1 unresolved externals

Ryan Germann
Product Manager &
UI Designer
Back to Top
Oleg View Drop Down
Admin Group
Admin Group


Joined: 21 May 2003
Location: United States
Status: Offline
Points: 11234
Post Options Post Options   Thanks (0) Thanks(0)   Quote Oleg Quote  Post ReplyReply Direct Link To This Post Posted: 20 October 2010 at 1:56am
Hi,

It was suggestion to change this option in application settings - not toolkit's.
_com_util::ConvertBSTRToString error can be reason if you have additional Platform SDK
installed but paths in includes wrong. (Try switch order of path in includes)

Oleg, Support Team
CODEJOCK SOFTWARE SOLUTIONS
Back to Top
y2kbug View Drop Down
Newbie
Newbie


Joined: 02 April 2012
Status: Offline
Points: 1
Post Options Post Options   Thanks (0) Thanks(0)   Quote y2kbug Quote  Post ReplyReply Direct Link To This Post Posted: 02 April 2012 at 7:00am

property -> Linker -> Input -> Additional Dependencies

--> comsuppw.lib
Back to Top
 Post Reply Post Reply
  Share Topic   

Forum Jump Forum Permissions View Drop Down

Forum Software by Web Wiz Forums® version 12.04
Copyright ©2001-2021 Web Wiz Ltd.

This page was generated in 0.139 seconds.