本人封装了一个类,里面需要用到ADO连接数据库, 所以需要初始化COM环境以及释放COM环境, 我打算在构造函数里面执行CoInitialize,在析构函数里面执行CoUninitialize 但是程序运行时,在析构函数中调用CoUninitialize,程序崩溃了~ CoUninitialize()引起系统异常推出 Closes the COM library on the current thread, unloads all DLLs loaded by the thread, frees…
原帖地址 http://bbs.csdn.net/topics/390481350 解决办法 procedure DisplayVideoInfo; var wmi, objs, obj : OleVariant; enum           : IEnumVariant; value          : Cardinal; begin try CoInitialize(nil);//  加上这两句 wmi := CreateOleObject('WbemScripting.SWbemLoc…
1.主要用途:使用户可以在窗体中导航网页. 2.注意:WebBrowser 控件会占用大量资源.使用完该控件后一定要调用 Dispose 方法,以便确保及时释放所有资源.必须在附加事件的同一线程上调用 Dispose 方法,该线程应始终是消息或用户界面 (UI) 线程. 3.WebBrowser 使用下面的成员可以将控件导航到特定 URL.在导航历史记录列表中向后和向前移动,还可以加载当前用户的主页和搜索页: 1.URL属性:可读.可写,用于获取或设置当前文档的 URL. WebBrowser …
C# WinForm WebBrowser 1.主要用途:使用户可以在窗体中导航网页. 2.注意:WebBrowser 控件会占用大量资源.使用完该控件后一定要调用 Dispose 方法,以便确保及时释放所有资源.必须在附加事件的同一线程上调用 Dispose 方法,该线程应始终是消息或用户界面 (UI) 线程. 3.WebBrowser 使用下面的成员可以将控件导航到特定 URL.在导航历史记录列表中向后和向前移动,还可以加载当前用户的主页和搜索页: 1.URL属性:可读.可写,用于获取或设置…
C# WinForm WebBrowser (一) MSDN资料 1.主要用途:使用户可以在窗体中导航网页. 2.注意:WebBrowser 控件会占用大量资源.使用完该控件后一定要调用 Dispose 方法,以便确保及时释放所有资源.必须在附加事件的同一线程上调用 Dispose 方法,该线程应始终是消息或用户界面 (UI) 线程. 3.WebBrowser 使用下面的成员可以将控件导航到特定 URL.在导航历史记录列表中向后和向前移动,还可以加载当前用户的主页和搜索页: 1.URL属性:可读…
下载3个语音API安装包 http://www.microsoft.com/en-us/download/details.aspx?id=10121 需要安装微软语音API安装包:SpeechSDK51LangPack.SpeechSDK51以及 msttss22L. 为了在VC中使用这SDK,必需在工程中添加SDK的include和lib目录,为免每个工程都添加目录,最好的办法是在VC的        Option->Directoris立加上SDK的include和lib目录.也可以直接将s…
CoInitialize(LPVOID),它将以特定参数调用CoInitializeEx,为当前单元初始化COM库,并标记协同模式为单线程模式.参数必须为NULL.这是关于OLE和COM的问题. CoInitializeEx(LPVOID),新版本,可以用参数指定协同模式,如多线程模式,但注意单元的协同模式是不能改的,如果在已经初始化为多线程的单元里初始化OLE将失败并返回RPC_E_CHANGED_MODE.每个线程只要调用一次初始化就够了,同一线程中的后续调用也将通过,但会返回S_FALSE…
From: http://blog.csdn.net/zhoubl668/archive/2009/04/30/4139933.aspx OLE是建立在COM之上的技术,层次比COM要高.AfxOleInit()调用的是OleInitialize(),而OleInitialize()除了调用CoInitializeEx()来初始化COM库外,还进行一些其它的操作,这些操作对OLE应用来说是必须的,这些OLE应用包括:     (1)Clipboard:     (2)Drag   and   d…
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,ComObj,ActiveX; type TForm1 = class(TForm) Memo1: TMemo; Button1: TButton; procedure FormCreate(Sender: TObject); procedure Button…
1.CoInitialize和CoInitializeEx的功能 CoInitialize是在当前线程初始化Com组件的函数,并且初始化为STA模式(单线程模式),一般新的程序建议使用CoInitializeEx来替代.CoInitializeEx初始化当前线程Com组件并提供更多的设置选项,如并发模式等. 2.关于并发模型的说明(concurrency model) 并发模型类型 下面两种不能同时设置 COINIT_APARTMENTTHREADED 这个模式允许多线程调用,但是多线程所有的调…