高级会员
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
|
【转帖】load a plotstyle file
load a plotstyle file
load a plotstyle file
hello all :
how can i load a plotstyle file (.ctb) for an odpsplotstyletable ?
in dd 1.12 odpsplotstyleservices::loadplotstyletable(...) is a pure virtual function,how can i use this function , or have other methods ?
you can obtain smartpointer for this interface in manner:
odpsplotstyleservicesptr ppss = odrxdynamiclinker()->loadapp(odps_plotstyle_services_appname);
you also can use odgicontextfordbdatabase::loadplotstyletable (just like odamfcapp sample does) in case you use odgicontextfordbdatabase's inheritant as odgicontext instantiation.
sincerely yours,
george udov
odpsplotstyleservicesptr ppss = odrxdynamiclinker()->loadapp(odps_plotstyle_services_appname);
odrxdynamiclinker()->loadapp(...) return an odrxdynamiclinkerptr , but how can i convert from odrxdynamiclinkerptr to an odpsplotstyleservicesptr ?
odrxdynamiclinker() returns odrxdynamiclinkerptr; odrxdynamiclinker()->loadapp(...) returns odrxmoduleptr, it must cast automatically to odpsplotstyleservicesptr. this string should work in form just as i written.
sincerely yours,
george udov
odpsplotstyleservicesptr ppss = odrxdynamiclinker()->loadapp(odps_plotstyle_services_appname);
the string can't work , when i build , the compiler report this error : rror c2440: 'initializing' : cannot convert from 'unsigned long' to 'class odsmartptr<class odpsplotstyleservices>'
no constructor could take the source type, or constructor overload resolution was ambiguous
oduint -- odpsplotstyleservicesptr ?
please help me~
did you
#include "ps/plotstyles.h"
?
sincerely yours,
george udov
yes , i included "ps/plotstyle.h" , but why the string can't work ?
sorry, i cut-&-past'ed string from 1.13 pre-release code
in 1.12 you should write like this:
code:
odrxdynamiclinkerptr pdynlnk = odrxdynamiclinker();
oduint32 psmodid = pdynlnk->loadapp(odps_plotstyle_services_appname);
if(psmodid)
{
odpsplotstyleservicesptr ppss = pdynlnk->module(psmodid);
if(ppss.get())
{
pplotstyletable = ppss->loadplotstyletable(ppstfile);
}
}
sincerely yours,
george udov
|