Delphi7,错误:EOleSyserror,尚未调用coInitialize,请问我该怎么作??

解决方案 »

  1.   

    uses adodb,db;
    var
        myquery:tadoquery;
    begin
        myquery:=tadoquery.create(nil);
        myquery.active:=false;
        myquery.sql.clear;
       ........
    end;
      

  2.   

    var
      tmpQry: TADOQuery;begin
      tmpQry := TADOQuery.Create(nil);
      try
        tmpQry.Connection := Connection;//数据连接源,
        ...
      finally
        tmpQry.Free;//要释放掉,不然就会出错。
      end;
    end
      

  3.   

    谢谢大家回答我的问题,但是我要提醒大家
    1。是控制台程序
    2。是在ADOQuery创建时出错代码如下program prjDemo;{$APPTYPE CONSOLE}uses
      SysUtils, StdCtrls, IdTCPConnection, IdTCPClient, IdHTTP, StrUtils, DB,
      ADODB, Classes;var
      IdHTTP1: TIdHTTP;
      myQuery: TADOQuery;begin
      { TODO -oUser -cConsole Main : Insert code here }
      IdHTTP1:=TIdHTTP.Create(nil);
      myQuery:=TADOQuery.Create(nil);
      myQuery.ConnectionString:={……}
      try
        ……  finally
        IdHTTP1.Free;
        myQuery.Free;
      end;end.在  myQuery:=TADOQuery.Create(nil);出错
      

  4.   

    尚未调用coInitialize.
    从来没有遇到这个错误。
    能否,不要动态创建呢?
      

  5.   

    在console application中,只能动态创建啊!
    看起来象是OLE错误!不知怎么回事?
      

  6.   

    在  myQuery:=TADOQuery.Create(nil);出错
    换成在  myQuery:=TADOQuery.Create(self)
    怎样
      

  7.   

    我曾经试过,但编译器无法通过self这个关键字
      

  8.   

    最后还是创建了一个DataModule解决了