在Qt项目中使用COM dll

时间:2011-07-11 18:33:29

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

在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中调用这些函数吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

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