【问题标题】:Using COM dll in a Qt project在 Qt 项目中使用 COM dll
【发布时间】:2011-07-11 18:33:28
【问题描述】:

在 vs c++ 中,我使用以下代码在 dll 文件中使用了一些我没有头文件的函数

#import "dll path"
HRESULT hr = CoInitialize(NULL);

    if (hr==S_OK)
    {cout<<"INITIALIZED\n";}

    Trans_ATLLib::ITransCriptPtr Trans;
    hr = Trans.CreateInstance(__uuidof(Trans_ATLLib::TransCript));
    if (hr==S_OK)
    {cout<<"INSTANCE CREATED\n";}

    hr =Trans->EnableLastCharTashkeel(true);
    if (hr==S_OK)
    {cout<<"EnableLastCharTashkeel DONE\n";}

    hr =Trans->EnableEmphaticLAM_RAA(true);
    if (hr==S_OK)
    {cout<<"EnableEmphaticLAM_RAA DONE\n";}

    VARIANT_BOOL test;
    test = Trans->SetText(arabic_string);
    if (test==0)
    {cout<<"error in setting the arabic sting\n";}

    string result;
    result = Trans->GetResult();

    istringstream iss(result);
    vector<string> phonemes;
    copy(istream_iterator<string>(iss),istream_iterator<string>(),back_inserter<vector<string> >(phonemes));
    return phonemes;
}

但是我发现Qt并没有使用同样的方法。

谁能帮我在 Qt 中调用这些函数?

提前致谢。

【问题讨论】:

    标签: c++ qt visual-c++ dll qt4


    【解决方案1】:

    如果你使用 c++ - 也一样! Qt 是一组库,而不是不同的编程语言 - 在您需要的任何地方调用 winApi,但不要忘记它不可移植。

    【讨论】:

    • 谢谢 raiv 我通过将 vs 代码用作 exe 文件来解决问题,并在其中进行了一些更改以避免传递参数
    猜你喜欢
    • 2012-02-04
    • 1970-01-01
    • 2012-02-23
    • 1970-01-01
    • 1970-01-01
    • 2015-02-03
    • 2018-05-18
    • 2012-10-15
    • 1970-01-01
    相关资源
    最近更新 更多