안녕하세요.Chrome과 IE를 사용하는 firebreath 2.0 플러그인 방식의 convert_cast 동작이 다른 이유는 무엇입니까
이std::string B::mymethod(std::string tStr)
{
return tStr;
}
표준 : : 문자열 "테스트"str을 될 것으로 예상된다,하지만 난 후 : myclassObj에서
void A::get_string(const FB::JSObjectPtr& myclassObj)
{
FB::variantPromise a = myclassObj->Invoke("mymethod", FB::VariantList{ "test" });
a.then<void>([this](FB::variant ret) {
std::string Str = ret.convert_cast<std::string>();
return;
});
}
MyMethod라는이 :
나는 나의 firebreath 2.0 플러그인을 다음 방법이 브라우저에서 get_string을 호출하면 동작 차이가 있습니다. Chrome을 사용할 때 문자열이 반환되고 변환이 정상입니다. IE에서 사용할 때 shared_ptr을 얻었고 문자열을 가져올 수 없습니다. 이 경우 변환에서 예외가 발생합니다. 제가 잘못하고있는 무슨 :)
추신을 결정하는 데 도움이
하시기 바랍니다, 그것은 중요하지 않습니다, 나는 무엇을 얻으려고하는지 : 크롬 변환에서 std :: string, long, 또는 다른 것들은 괜찮습니다.하지만 IE에서는 ret에서만 얻을 수 있습니다.
사실, get_string 메서드에서 myclassObj에 대한 포인터를 얻고 싶습니다. 그러나 프록시 클래스 때문에 막혔습니다. 그래서, std :: string을 사용하여 포인터를 얻으려고합니다.