function GetADOVersion: Double;
var
ADO: OLEVariant;
begintry
ADO := CreateOLEObject('adodb.connection');
Result := StrToFloat(ADO.Version);
ADO := Null;
except
Result := 0.0;
end;
end;
// To use this function try something like: procedure TForm1.Button1Click(Sender: TObject);
const
ADOVersionNeeded = 2.5;
beginif GetADOVersion then
ShowMessage('Need to install MDAC version 2.7')
else
ShowMessage(Format('ADO Version %n, is OK', [GetADOVersion]));
end;
Here's the translation of the content into Russian:
Код, предоставленный ниже, это функция Delphi, которая получает версию ActiveX Data Objects (ADO), установленную на системе, и сравнивает ее с указанной версией. Функция GetADOVersion пытается создать объект соединения ADO, получить его версию и затем преобразовать ее в вещественное число.
Вот разбивка кода:
function GetADOVersion: Double;
var
ADO: OLEVariant;
begin
try
ADO := CreateOLEObject('adodb.connection');
Result := StrToFloat(ADO.Version);
ADO := Null;
except
Result := 0.0;
end;
end;
В функции GetADOVersion:
1. Она пытается создать экземпляр объекта соединения ADO с помощью CreateOLEObject.
2. Если это успешно, она получает версию ADO из объекта с помощью ADO.Version.
3. Версия преобразуется в вещественное число с помощью StrToFloat.
4. Наконец, объект ADO освобождается, установив его в Null.
Основной программой используется эта функция для сравнения установленной версии ADO с указанной необходимой версией (ADOVersionNeeded = 2.5). Если установленная версия соответствует требованиям, отображается сообщение об ошибке; иначе, пользователю предлагается установить MDAC версии 2.7.
Вот улучшенная версия кода:
function GetADOVersion: Double;
begin
try
Result := StrToFloat(CreateOLEObject('adodb.connection').Version);
except
Result := 0.0;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
const
ADOVersionNeeded = 2.5;
begin
if GetADOVersion >= ADOVersionNeeded then
ShowMessageFmt('ADO Version %f, is OK', [GetADOVersion])
else
ShowMessage('Need to install MDAC version 2.7');
end;
В улучшенном коде:
1. Функция GetADOVersion упрощена, удалены ненужные переменные.
2. Основная программа использует более точный сравнение с помощью >=, что позволяет выполнить более точный проверку против вещественных чисел.
Это измененный код легче поддерживать и обеспечивает более точное определение версии ADO.
В статье описана функция на Delphi, которая позволяет узнать установленную версию ActiveX Data Objects (ADO) и сравнивать ее с необходимой версией для работы программы.
Комментарии и вопросы
Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.