![]() |
【转帖】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 |
所有的时间均为北京时间。 现在的时间是 11:21 AM. |