请选择 进入手机版 | 继续访问电脑版

LibreOffice 中文社区

 找回密码
 马上加入

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
12
返回列表 发新帖
开启左侧

vs2010 搭建libreoffice 中SDK中的DocumentLoader例子

[复制链接]
 楼主| shc-2021 发表于 2021-7-19 10:16:11 | 显示全部楼层
suokunlong 发表于 2021-7-17 19:39
无意间看到了这个帖子。楼主可能把DocumentLoader的例子没有看完整,没有理解。你的Loader程序要与LibreOff ...

哦,我启动了,本地绑定的是0.0.0.0的地址,端口和客户端连接的也是对上的,而且我用telnet 去连接端口也进去了,证明网络没啥问题。难道是host=localhost 这个也要改成0.0.0.0? 我试试。
suokunlong 发表于 2021-7-19 20:31:11 | 显示全部楼层
shc-2021 发表于 2021-7-19 10:16
哦,我启动了,本地绑定的是0.0.0.0的地址,端口和客户端连接的也是对上的,而且我用telnet 去连接端口也 ...

localhost只是类似一个域名,在host里默认应该是解析为ip地址127.0.0.1,而不是0.0.0.0.

根据你提供的错误提示来看,肯定是连接不到服务导致的。如果是转换过程中出错的话,会是别的提示。


开放,包容,奉献。
 楼主| shc-2021 发表于 2021-7-19 21:00:24 | 显示全部楼层
suokunlong 发表于 2021-7-19 20:31
localhost只是类似一个域名,在host里默认应该是解析为ip地址127.0.0.1,而不是0.0.0.0.

根据你提供的错 ...

没用全部都试了一遍,跟这都没一点关系,代码打断点进去跟踪调试的,程序只跑到建立连接前。而且我用我服务器启动后,用python例子测试是没问题的。感觉这C++的sdk 官方提供的有问题。
suokunlong 发表于 2021-7-22 13:44:41 | 显示全部楼层
贴一下代码,我试一下
开放,包容,奉献。
 楼主| shc-2021 发表于 2021-7-22 17:43:42 | 显示全部楼层
suokunlong 发表于 2021-7-22 13:44
贴一下代码,我试一下

#include <stdio.h>

#include <cppuhelper/bootstrap.hxx>
#include <com/sun/star/bridge/XUnoUrlResolver.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/lang/XMultiComponentFactory.hpp>

using namespace com::sun::star::uno;
using namespace com::sun::star::lang;
using namespace com::sun::star::bridge;
using namespace rtl;
using namespace cppu;


int main()
{
    // create the initial component context
    Reference< XComponentContext > rComponentContext =
        defaultBootstrap_InitialComponentContext();

    // retrieve the service manager from the context
    Reference< XMultiComponentFactory > rServiceManager =
        rComponentContext->getServiceManager();

    // instantiate a sample service with the service manager.
    Reference< XInterface > rInstance =
        rServiceManager->createInstanceWithContext(
            OUString::createFromAscii("com.sun.star.bridge.UnoUrlResolver"),
            rComponentContext);

    // Query for the XUnoUrlResolver interface
    Reference< XUnoUrlResolver > rResolver(rInstance, UNO_QUERY);

    if (!rResolver.is())
    {
        printf("Error: Couldn't instantiate com.sun.star.bridge.UnoUrlResolver service\n");
        return 1;
    }
    try
    {
        // resolve the uno-URL
        rInstance = rResolver->resolve(OUString::createFromAscii("uno:socket,host=127.0.0.1,port=2083;urp;StarOffice.ServiceManager"));
        if (!rInstance.is())
        {
            printf("StarOffice.ServiceManager is not exported from remote process\n");
            return 1;
        }

        // query for the simpler XMultiServiceFactory interface, sufficient for scripting
        Reference< XMultiServiceFactory > rOfficeServiceManager(rInstance, UNO_QUERY);

        if (!rOfficeServiceManager.is())
        {
            printf("XMultiServiceFactory interface is not exported\n");
            return 1;
        }

        printf("Connected sucessfully to the office\n");
    }
    catch (Exception& e)
    {
        OString o = OUStringToOString(e.Message, RTL_TEXTENCODING_ASCII_US);
        printf("Error: %s\n", o.pData->buffer);
        return 1;
    }
    return 0;
}

 楼主| shc-2021 发表于 2021-7-22 17:50:03 | 显示全部楼层

windows 下,linux 下没问题。windows下目前不行,转到linux下搞了。
suokunlong 发表于 2021-7-23 11:55:25 | 显示全部楼层

有 makefile 吗?

开放,包容,奉献。
 楼主| shc-2021 发表于 2021-7-23 14:29:10 | 显示全部楼层

vs2019 直接创建win32工程,代码粘贴进去。
*滑块验证:
您需要登录后才可以回帖 登录 | 马上加入

本版积分规则

Archiver|手机版|小黑屋|LibreOffice 中文社区 ( 粤ICP备13080851号-4 )

GMT+8, 2021-9-28 01:22

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表