找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1109|回复: 0
打印 上一主题 下一主题

多线程调用Web Service的注意事项

[复制链接]

2600

主题

2600

帖子

7736

积分

论坛元老

Rank: 8Rank: 8

积分
7736
跳转到指定楼层
楼主
发表于 2018-2-18 04:49:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

                      一段在主线程下调试成功的代码,移植到多线程下就不一定完全可行(虽然编译通过)。

    比如刚刚写的一段调用远程WebService的代码,每次点击“开始”按钮,就报错“尚未调用coinitialize”,检查了一下代码,貌似没发现有啥不妥,没法子,只有百度去了。
    百度后才发现,原来多线程下使用WebService还有“秘密”:必须在使用前初始化COM环境,具体操作如下:
    1、uses  ActiveX;
    2、使用前先CoInitialize(nil);
    3、使用完后CoUninitialize;
    再次调试,搞定~~~特发此文。
    上述是delphi语法,C++等也需要如此操作,方法类似。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

用户反馈
客户端