Доброго времени суток!
Стоит задача открыть файл в OpenOffice в скрытом режиме, не как не пойму, как это сделать в связке с ActiveQt.
Собственно такой вот код:
C++ (Qt)
QObject obj;
QAxObject *OO = new QAxObject("com.sun.star.ServiceManager", &obj);
if (!OO)
return false;
QAxObject *OO_Desktop=OO->querySubObject("createInstance(string)","com.sun.star.frame.Desktop");
if (!OO_Desktop)
return false;
// берём структуру com.sun.star.beans.PropertyValue
QAxObject *propValue = OO->querySubObject("Bridge_GetStruct(string)", "com.sun.star.beans.PropertyValue");
QVariantList vl;
if (propValue){
qDebug() << "yep! Struct is created!!";
// если всё хорошо - записываем туда пару "Hidden" - true
propValue->setProperty("name", "Hidden");
propValue->setProperty("value", true);
// и в список ее
vl << propValue->asVariant();
}
// пытаемся загрузить документ. Он грузиться, никаких исключений
// не выдает, но окно writer'а показывает.
QAxObject *OO_Doc = OO_Desktop->querySubObject("LoadComponentFromURL(string, string, long, sequence)",ConvertToURL(templateFile), "_blank", 0, vl);
if (!OO_Doc)
return;
писал по аналогии с этим:
C++ (Qt)
OpenParams = VarArrayCreate(Bounds, 1, varVariant);
Variant MyStruct = vApp.OleFunction("Bridge_GetStruct","com.sun.star.beans.PropertyValue");
MyStruct.OlePropertySet("name","Hidden");
MyStruct.OlePropertySet("value",true);
OpenParams.PutElement(MyStruct, 0);
Document = Desktop.OleFunction("LoadComponentFromURL", convertToURL(FileName), "_blank", 0, OpenParams );
Ткните, куда копать?