diff --git a/WellLogModule/include/PELibraryModule.h b/WellLogModule/include/PELibraryModule.h index 4d64b1f..6740822 100644 --- a/WellLogModule/include/PELibraryModule.h +++ b/WellLogModule/include/PELibraryModule.h @@ -35,6 +35,7 @@ public: virtual bool validate(CModuleCheckResult& moduleCheckResult); virtual bool validate(); virtual CModule* Clone(); + bool ToUnicode(char* szStr); static QStringList GetNames(std::string names,char split=',',bool removeblank=true); QString strDLLFun; QString paramCardNameInSlf; diff --git a/WellLogModule/src/PELibraryModule.cpp b/WellLogModule/src/PELibraryModule.cpp index 215a564..39da9d8 100644 --- a/WellLogModule/src/PELibraryModule.cpp +++ b/WellLogModule/src/PELibraryModule.cpp @@ -62,11 +62,18 @@ PELibraryModule::~PELibraryModule(void) } Methodlib.unload(); } +bool PELibraryModule::ToUnicode(char* szStr) +{ + QString qstr;; + qstr = qstr.fromLocal8Bit(szStr); + std::string stdStr = qstr.toStdString(); + strcpy(szStr,stdStr.c_str()); + return true; +} QStringList PELibraryModule::GetNames(std::string names,char split,bool removeblank) { QString incname; - // incname=incname.fromStdString(names); - incname=incname.fromLocal8Bit(names.c_str()); + incname=incname.fromStdString(names); QStringList result; int commaindex=names.find(split); if(commaindex>=0) @@ -1310,7 +1317,17 @@ bool PELibraryModule::InitModule(QWidget*pWidget) Outp = (struct OUTP_STRU *)Methodlib.resolve("OUTP"); Conc = (struct CONC_STRU *)Methodlib.resolve("CONC"); Con = (struct CON_STRU *)Methodlib.resolve("CON"); - + ToUnicode(Inc->Name); + ToUnicode(Inc->Script); + ToUnicode(Inc->Unit); + ToUnicode(Conc->Name); + ToUnicode(Conc->Script); + ToUnicode(Conc->Unit); + ToUnicode(Conc->Options); + ToUnicode(Conc->ValType); + ToUnicode(Outc->Name); + ToUnicode(Outc->Script); + ToUnicode(Outc->Unit); if(paramCardNameInSlf.isEmpty()) { if(Hd){ paramCardNameInSlf=Hd->Param;