Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

MS ADO. Как определить установлено ли ? [D5]


UnDISCOvery ©   (2002-07-08 14:15:00) 

Как мне узнать установлено ли АДО и какой версии на компьютере юзера ? С какими версиями работают компоненты АДО в пятой Дельфе ?


sniknik   (2002-07-09 16:54:00) [1]

Не там искал наверное

procedure TForm1.Button7Click(Sender: TObject);
function ADO_and_Jet40:String;
var con:TADOConnection;
begin
try
con:=TADOConnection.Create(nil);
con.LoginPrompt:=False;
con.ConnectionString:="Provider=Microsoft.Jet.OLEDB.4.0;Extended Properties=Text;Data Source=.\";
con.Open;
Result:=con.Version;
con.Free;
except
on E:Exception do Result:=E.Message;
end;
end;

begin
ShowMessage("ADO версия : "+ADO_and_Jet40);
end;


UnDISCOvery   (2002-07-09 15:59:00) [2]

Я тут в реестре порыскал .... нашел кучу ссылок на АДО, но именно на то которое установлено, что-то типа версии нифига нет !
но что означает: HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{00000100-0000-0010-8000-00AA006D2EA4} ... я не знаю :-/
может быть просто проверять наличие файла dao360.dll ?


SEM   (2002-07-08 18:19:00) [3]

Можно попытаться получить интерфейс какого-нибудь объекта ADO.
Например:
function Check_ADO: Boolean;
const
CLSID_DATALINKS: TGUID = "{2206CDB2-19C1-11D1-89E0-00C04FD7A829}"; {DataLinks}
var
hr: HRESULT;
pUnk: IUnknown;
OleInit: Boolean;
begin

OleInit:= OleInitialize(nil) = S_OK;

hr:= CoCreateInstance(
CLSID_DATALINKS,
nil,
CLSCTX_INPROC_SERVER or CLSCTX_LOCAL_SERVER,
IUnknown,
pUnk);

pUnk:= nil;

if OleInit then OleUnInitialize;

Result:= hr = S_OK;

end;

Данная функция не сможет определить ADO версии < 2.5, т.к.
там нет объекта DataLinks (Вроде нет).


Наверх

Титульная страница Поиск, карта сайта Написать письмо