diff --git a/.gitignore b/.gitignore index 4178b37..1344d3d 100644 --- a/.gitignore +++ b/.gitignore @@ -17,6 +17,7 @@ CVAutoInstaller/ #Files *.exe +!CheckCVDep.exe #*.dll *.ini *.bsc diff --git a/CheckCVDep/CheckCVDep.dpr b/CheckCVDep/CheckCVDep.dpr new file mode 100644 index 0000000..28c717c --- /dev/null +++ b/CheckCVDep/CheckCVDep.dpr @@ -0,0 +1,14 @@ +program CheckCVDep; + +uses + Vcl.Forms, + uMainForm in 'uMainForm.pas' {MainForm}; + +{$R *.res} + +begin + Application.Initialize; + Application.MainFormOnTaskbar := True; + Application.CreateForm(TMainForm, MainForm); + Application.Run; +end. diff --git a/CheckCVDep/CheckCVDep.dproj b/CheckCVDep/CheckCVDep.dproj new file mode 100644 index 0000000..4f25357 --- /dev/null +++ b/CheckCVDep/CheckCVDep.dproj @@ -0,0 +1,569 @@ + + + {E11F6D25-6ADF-429B-8B8B-AFAF67B0A6EB} + 18.3 + VCL + CheckCVDep.dpr + True + Debug + Win32 + 1 + Application + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + .\$(Platform)\$(Config) + false + false + false + false + false + RESTBackendComponents;CloudService;soaprtl;soapmidas;RESTComponents;emsclientfiredac;DataSnapFireDAC;FireDACIBDriver;emsclient;FireDACCommon;soapserver;FireDACCommonDriver;inet;FireDAC;FireDACSqliteDriver;$(DCC_UsePackage) + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + $(BDS)\bin\delphi_PROJECTICON.ico + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + 1049 + CheckCVDep + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + DBXSqliteDriver;dxPSPrVwRibbonRS25;dxRibbonCustomizationFormRS25;DBXDb2Driver;dxSkinOffice2007PinkRS25;dxSkinMcSkinRS25;vclactnband;vclFireDAC;cxExportRS25;dxHttpIndyRequestRS25;tethering;dxPScxCommonRS25;FireDACADSDriver;cxPivotGridOLAPRS25;JvPluginSystem;FireDACMSSQLDriver;cxSchedulerGridRS25;vcltouch;dxSkinDarkRoomRS25;dxSkinDarkSideRS25;vcldb;Intraweb;svn;JvBands;JvJans;dxGaugeControlRS25;CnPack_D102T;cxLibraryRS25;JvDotNetCtrls;dxSkinOffice2007SilverRS25;dxSkinscxSchedulerPainterRS25;dxSkinBlackRS25;vclib;dxSkinOffice2007BlueRS25;dxSkinOffice2007BlackRS25;FireDACDBXDriver;Tee925;dxSkinVS2010RS25;vclx;dxSkinFoggyRS25;dxSpreadSheetConditionalFormattingDialogsRS25;dxSkinSevenRS25;TeeWorld925;TeeTree2D25Tee9;dxTileControlRS25;dxMapControlRS25;dxSkinSpringTimeRS25;dxPDFViewerRS25;dxDockingRS25;VCLRESTComponents;dxSkinsdxNavBarPainterRS25;cxPageControlRS25;dxSkinLilianRS25;dxPSLnksRS25;dxWizardControlRS25;vclie;bindengine;dxFireDACServerModeRS25;JvHMI;FireDACMySQLDriver;dxSkinOffice2013LightGrayRS25;dxSkinMetropolisRS25;DataSnapClient;dxSkinOffice2016DarkRS25;bindcompdbx;dxSkinBlueprintRS25;dxSkinStardustRS25;DBXSybaseASEDriver;IndyIPServer;dxPSdxLCLnkRS25;IndySystem;dxSkinOffice2007GreenRS25;dsnapcon;dxLayoutControlRS25;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;Jcl;TeeMaker125;SignalCore525;dxdbtrRS25;dxPScxTLLnkRS25;emshosting;dxSpreadSheetRS25;dxSkinVisualStudio2013LightRS25;DBXOdbcDriver;FireDACTDataDriver;cxGridRS25;dxPScxSchedulerLnkRS25;dxSkinTheAsphaltWorldRS25;DbxCommonDriver;dxorgcRS25;JvManagedThreads;dxSkinHighContrastRS25;xmlrtl;DataSnapNativeClient;fmxobj;MtxCore525;dxPScxGridLnkRS25;rtl;JvTimeFramework;DbxClientDriver;SignalTool525;DBXSybaseASADriver;dxPSCoreRS25;dxmdsRS25;JvSystem;JvStdCtrls;dxSkinOffice2016ColorfulRS25;appanalytics;IndyIPClient;bindcompvcl;dxSkinscxPCPainterRS25;dxThemeRS25;JvDocking;FMXTee925;VclSmp;JvPascalInterpreter;FireDACODBCDriver;JclVcl;DataSnapIndy10ServerTransport;DataSnapProviderClient;FireDACMongoDBDriver;cxVerticalGridRS25;dxtrmdRS25;JvControls;JvPrintPreview;dxADOServerModeRS25;dxSkinPumpkinRS25;DataSnapServerMidas;dxCoreRS25;cxSchedulerTreeBrowserRS25;FMXTeeImport925;DBXInterBaseDriver;TeeDB925;dxSkinValentineRS25;ZComponent;ZCore;dxSkinOffice2010BlueRS25;svnui;JvGlobus;dxSkinMoneyTwinsRS25;dxSkinSilverRS25;DBXMSSQLDriver;dxPSdxFCLnkRS25;JvMM;DatasnapConnectorsFreePascal;dxSkinOffice2013WhiteRS25;bindcompfmx;JvNet;DBXOracleDriver;FMXTeePro925;inetdb;JvAppFrm;TeeImport925;dxOfficeCoreRS25;emsedge;fmx;fmxdae;dxSkinBlueRS25;dxTabbedMDIRS25;dxBarDBNavRS25;dxPScxPivotGridLnkRS25;JvWizards;dxSkinDevExpressDarkStyleRS25;FMXTeeLanguage925;dbexpress;IndyCore;FMXTeeDB925;dxFlowChartRS25;dxSkinsdxDLPainterRS25;ZParseSql;JvPageComps;dsnap;DataSnapCommon;dxBarRS25;JvDB;dxSkinLiquidSkyRS25;dxdborRS25;DataSnapConnectors;dxPScxExtCommonRS25;cxPivotGridRS25;JclDeveloperTools;MtxTools525;dxNavBarRS25;dxPSdxSpreadSheetLnkRS25;cxSchedulerRibbonStyleEventEditorRS25;dxSkinCoffeeRS25;FireDACOracleDriver;DBXMySQLDriver;JvCmp;DBXFirebirdDriver;FireDACCommonODBC;dxSkinOffice2010SilverRS25;cxTreeListRS25;dxSkinsdxBarPainterRS25;IndyIPCommon;JvCustom;dxSkinLondonLiquidSkyRS25;vcl;dxPScxVGridLnkRS25;dxBarExtItemsRS25;JvXPCtrls;TeeUI925;dxComnRS25;FireDACDb2Driver;dxSkinsCoreRS25;dxSkinWhiteprintRS25;dxPSdxDBTVLnkRS25;FmxTeeUI925;dxSkinVisualStudio2013BlueRS25;dxSkinGlassOceansRS25;dxSkinMetropolisDarkRS25;dxSkinOffice2013DarkGrayRS25;dxSkinSharpPlusRS25;ZDbc;dxSkinCaramelRS25;dxServerModeRS25;dxPScxPCProdRS25;JvCore;TeeGL925;FireDACPgDriver;ibmonitor;FireDACASADriver;TeePro925;cxEditorsRS25;dxSkiniMaginaryRS25;JvCrypt;JvDlgs;JvRuntimeDesign;ibxpress;DataSnapServer;ibxbindings;dxPsPrVwAdvRS25;vclwinx;FireDACDSDriver;MtxTee525;cxDataRS25;cxTreeListdxBarPopupMenuRS25;dxSkinSevenClassicRS25;CustomIPTransport;vcldsnap;dxPSdxOCLnkRS25;dxSkinSharpRS25;bindcomp;FMXTree25;ZPlain;DBXInformixDriver;cxPivotGridChartRS25;cxSchedulerRS25;dxBarExtDBItemsRS25;dxSkinVisualStudio2013DarkRS25;dxSkinOffice2010BlackRS25;dxDBXServerModeRS25;dxSkinDevExpressStyleRS25;dxGDIPlusRS25;dxPSdxGaugeControlLnkRS25;dxSkinsdxRibbonPainterRS25;dbxcds;adortl;TeeImage925;dxPSdxDBOCLnkRS25;TeeLanguage925;dxRibbonRS25;dsnapxml;dxSpellCheckerRS25;dbrtl;inetdbxpress;IndyProtocols;JclContainers;dxSkinSummer2008RS25;dxPSdxMapControlLnkRS25;dxSkinXmas2008BlueRS25;fmxase;$(DCC_UsePackage) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + $(BDS)\bin\default_app.manifest + + + DBXSqliteDriver;dxPSPrVwRibbonRS25;dxRibbonCustomizationFormRS25;DBXDb2Driver;dxSkinOffice2007PinkRS25;dxSkinMcSkinRS25;vclactnband;vclFireDAC;cxExportRS25;dxHttpIndyRequestRS25;tethering;dxPScxCommonRS25;FireDACADSDriver;cxPivotGridOLAPRS25;FireDACMSSQLDriver;cxSchedulerGridRS25;vcltouch;dxSkinDarkRoomRS25;dxSkinDarkSideRS25;vcldb;Intraweb;dxGaugeControlRS25;cxLibraryRS25;dxSkinOffice2007SilverRS25;dxSkinscxSchedulerPainterRS25;dxSkinBlackRS25;vclib;dxSkinOffice2007BlueRS25;dxSkinOffice2007BlackRS25;FireDACDBXDriver;dxSkinVS2010RS25;vclx;dxSkinFoggyRS25;dxSpreadSheetConditionalFormattingDialogsRS25;dxSkinSevenRS25;dxTileControlRS25;dxMapControlRS25;dxSkinSpringTimeRS25;dxPDFViewerRS25;dxDockingRS25;VCLRESTComponents;dxSkinsdxNavBarPainterRS25;cxPageControlRS25;dxSkinLilianRS25;dxPSLnksRS25;dxWizardControlRS25;vclie;bindengine;dxFireDACServerModeRS25;FireDACMySQLDriver;dxSkinOffice2013LightGrayRS25;dxSkinMetropolisRS25;DataSnapClient;dxSkinOffice2016DarkRS25;bindcompdbx;dxSkinBlueprintRS25;dxSkinStardustRS25;DBXSybaseASEDriver;IndyIPServer;dxPSdxLCLnkRS25;IndySystem;dxSkinOffice2007GreenRS25;dsnapcon;dxLayoutControlRS25;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;SignalCore525;dxdbtrRS25;dxPScxTLLnkRS25;emshosting;dxSpreadSheetRS25;dxSkinVisualStudio2013LightRS25;DBXOdbcDriver;FireDACTDataDriver;cxGridRS25;dxPScxSchedulerLnkRS25;dxSkinTheAsphaltWorldRS25;DbxCommonDriver;dxorgcRS25;dxSkinHighContrastRS25;xmlrtl;DataSnapNativeClient;fmxobj;MtxCore525;dxPScxGridLnkRS25;rtl;DbxClientDriver;SignalTool525;DBXSybaseASADriver;dxPSCoreRS25;dxmdsRS25;dxSkinOffice2016ColorfulRS25;appanalytics;IndyIPClient;bindcompvcl;dxSkinscxPCPainterRS25;dxThemeRS25;VclSmp;FireDACODBCDriver;DataSnapIndy10ServerTransport;DataSnapProviderClient;FireDACMongoDBDriver;cxVerticalGridRS25;dxtrmdRS25;dxADOServerModeRS25;dxSkinPumpkinRS25;DataSnapServerMidas;dxCoreRS25;cxSchedulerTreeBrowserRS25;DBXInterBaseDriver;dxSkinValentineRS25;ZComponent;ZCore;dxSkinOffice2010BlueRS25;dxSkinMoneyTwinsRS25;dxSkinSilverRS25;DBXMSSQLDriver;dxPSdxFCLnkRS25;DatasnapConnectorsFreePascal;dxSkinOffice2013WhiteRS25;bindcompfmx;DBXOracleDriver;inetdb;dxOfficeCoreRS25;emsedge;fmx;fmxdae;dxSkinBlueRS25;dxTabbedMDIRS25;dxBarDBNavRS25;dxPScxPivotGridLnkRS25;dxSkinDevExpressDarkStyleRS25;dbexpress;IndyCore;dxFlowChartRS25;dxSkinsdxDLPainterRS25;ZParseSql;dsnap;DataSnapCommon;dxBarRS25;dxSkinLiquidSkyRS25;dxdborRS25;DataSnapConnectors;dxPScxExtCommonRS25;cxPivotGridRS25;MtxTools525;dxNavBarRS25;dxPSdxSpreadSheetLnkRS25;cxSchedulerRibbonStyleEventEditorRS25;dxSkinCoffeeRS25;FireDACOracleDriver;DBXMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;dxSkinOffice2010SilverRS25;cxTreeListRS25;dxSkinsdxBarPainterRS25;IndyIPCommon;dxSkinLondonLiquidSkyRS25;vcl;dxPScxVGridLnkRS25;dxBarExtItemsRS25;dxComnRS25;FireDACDb2Driver;dxSkinsCoreRS25;dxSkinWhiteprintRS25;dxPSdxDBTVLnkRS25;dxSkinVisualStudio2013BlueRS25;dxSkinGlassOceansRS25;dxSkinMetropolisDarkRS25;dxSkinOffice2013DarkGrayRS25;dxSkinSharpPlusRS25;ZDbc;dxSkinCaramelRS25;dxServerModeRS25;dxPScxPCProdRS25;FireDACPgDriver;ibmonitor;FireDACASADriver;cxEditorsRS25;dxSkiniMaginaryRS25;ibxpress;DataSnapServer;ibxbindings;dxPsPrVwAdvRS25;vclwinx;FireDACDSDriver;MtxTee525;cxDataRS25;cxTreeListdxBarPopupMenuRS25;dxSkinSevenClassicRS25;CustomIPTransport;vcldsnap;dxPSdxOCLnkRS25;dxSkinSharpRS25;bindcomp;ZPlain;DBXInformixDriver;cxPivotGridChartRS25;cxSchedulerRS25;dxBarExtDBItemsRS25;dxSkinVisualStudio2013DarkRS25;dxSkinOffice2010BlackRS25;dxDBXServerModeRS25;dxSkinDevExpressStyleRS25;dxGDIPlusRS25;dxPSdxGaugeControlLnkRS25;dxSkinsdxRibbonPainterRS25;dbxcds;adortl;dxPSdxDBOCLnkRS25;dxRibbonRS25;dsnapxml;dxSpellCheckerRS25;dbrtl;inetdbxpress;IndyProtocols;dxSkinSummer2008RS25;dxPSdxMapControlLnkRS25;dxSkinXmas2008BlueRS25;fmxase;$(DCC_UsePackage) + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + true + true + true + 1033 + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + true + true + + + + MainSource + + +
MainForm
+ dfm +
+ + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + Delphi.Personality.12 + Application + + + + CheckCVDep.dpr + + + Embarcadero C++Builder Office 2000 Servers Package + Embarcadero C++Builder Office XP Servers Package + Microsoft Office 2000 Sample Automation Server Wrapper Components + Microsoft Office XP Sample Automation Server Wrapper Components + + + + + + CheckCVDep.exe + true + + + + + 1 + + + Contents\MacOS + 1 + + + Contents\MacOS + 0 + + + + + classes + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\armeabi + 1 + + + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + + + res\values + 1 + + + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + Contents\MacOS + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + Contents\Resources\StartUp\ + 0 + + + 0 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + 1 + + + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\ + 1 + + + + + Contents + 1 + + + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + + + + + + + + + True + False + + + 12 + + + + +
diff --git a/CheckCVDep/CheckCVDep.exe b/CheckCVDep/CheckCVDep.exe new file mode 100644 index 0000000..7a45551 Binary files /dev/null and b/CheckCVDep/CheckCVDep.exe differ diff --git a/CheckCVDep/CheckCVDep.res b/CheckCVDep/CheckCVDep.res new file mode 100644 index 0000000..d889576 Binary files /dev/null and b/CheckCVDep/CheckCVDep.res differ diff --git a/CheckCVDep/uMainForm.dfm b/CheckCVDep/uMainForm.dfm new file mode 100644 index 0000000..00d8109 --- /dev/null +++ b/CheckCVDep/uMainForm.dfm @@ -0,0 +1,51 @@ +object MainForm: TMainForm + Left = 0 + Top = 0 + Caption = 'Verifying OpenCV dependencies' + ClientHeight = 407 + ClientWidth = 643 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [] + OldCreateOrder = False + Position = poScreenCenter + OnActivate = FormActivate + DesignSize = ( + 643 + 407) + PixelsPerInch = 96 + TextHeight = 13 + object mmo1: TMemo + Left = 0 + Top = 88 + Width = 643 + Height = 319 + Align = alBottom + Anchors = [akLeft, akTop, akRight, akBottom] + Lines.Strings = ( + 'mmo1') + ReadOnly = True + ScrollBars = ssVertical + TabOrder = 0 + end + object btn1: TButton + Left = 8 + Top = 24 + Width = 189 + Height = 25 + Caption = 'Verifying OpenCV dependencies' + TabOrder = 1 + OnClick = btn1Click + end + object pb1: TProgressBar + Left = 8 + Top = 64 + Width = 627 + Height = 13 + Anchors = [akLeft, akTop, akRight] + TabOrder = 2 + end +end diff --git a/CheckCVDep/uMainForm.pas b/CheckCVDep/uMainForm.pas new file mode 100644 index 0000000..0f24974 --- /dev/null +++ b/CheckCVDep/uMainForm.pas @@ -0,0 +1,189 @@ +unit uMainForm; + +interface + +uses + Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, + Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.ComCtrls; + +type + TMainForm = class(TForm) + mmo1: TMemo; + btn1: TButton; + pb1: TProgressBar; + procedure btn1Click(Sender: TObject); + procedure FormActivate(Sender: TObject); + private + procedure Verifying_OpenCV_Dependencies; + function CheckLoadDLL(const DLLFileName: String; Var ErrorCode: Cardinal; var ErrorString: string): Boolean; + public + end; + +var + MainForm: TMainForm; + +implementation + +{$R *.dfm} + +const + + MSDLL_Core: array of string = ['concrt140', 'msvcp140', 'ucrtbase', 'vcruntime140']; + + CVDLL_Core: array of string = ['opencv_calib3d2413', 'opencv_contrib2413', 'opencv_core2413', 'opencv_features2d2413', 'opencv_flann2413', + 'opencv_gpu2413', 'opencv_highgui2413', 'opencv_imgproc2413', 'opencv_legacy2413', 'opencv_ml2413', 'opencv_nonfree2413', + 'opencv_objdetect2413', 'opencv_ocl2413', 'opencv_photo2413', 'opencv_stitching2413', 'opencv_superres2413', 'opencv_video2413', + 'opencv_videostab2413', 'opencv_ffmpeg2413']; + + CVDLL_Classes: array of string = ['opencv_classes2413']; + + FFMPEGDLL: array of string = ['avcodec-57', 'avdevice-57', 'avfilter-6', 'avformat-57', 'avutil-55', 'postproc-54', 'swresample-2', + 'swscale-4']; + + SDLDLL: array of string = ['SDL', 'SDL2']; + +procedure TMainForm.FormActivate(Sender: TObject); +begin + Verifying_OpenCV_Dependencies; +end; + +procedure TMainForm.btn1Click(Sender: TObject); +begin + Verifying_OpenCV_Dependencies; +end; + +function TMainForm.CheckLoadDLL(const DLLFileName: String; Var ErrorCode: Cardinal; var ErrorString: string): Boolean; +Var + DLL: HMODULE; +begin + DLL := LoadLibraryEx(PChar(DLLFileName), 0, LOAD_WITH_ALTERED_SEARCH_PATH); + if DLL = 0 then + begin + ErrorCode := GetLastError; + ErrorString := SysErrorMessage(ErrorCode); + Result := False; + end + else + begin + FreeLibrary(DLL); + Result := True; + end; +end; + +procedure TMainForm.Verifying_OpenCV_Dependencies; +Var + i: Integer; + ErrorCode: Cardinal; + ErrorString: string; + R: Boolean; +begin + mmo1.Lines.Clear; + pb1.Position := 0; + btn1.Enabled := False; + pb1.Max := Length(MSDLL_Core) + Length(CVDLL_Core) + Length(CVDLL_Classes) + Length(FFMPEGDLL) + Length(SDLDLL); + Application.ProcessMessages; + try + mmo1.Lines.Add('------- Verifying Microsoft DLL -------'); + R := True; + for i := 0 to High(MSDLL_Core) do + begin + if not CheckLoadDLL(MSDLL_Core[i] + '.dll', ErrorCode, ErrorString) then + begin + mmo1.Lines.Add('Verifying ' + MSDLL_Core[i] + '.dll'); + mmo1.Lines.Add(' Error code: ' + ErrorCode.ToString + ' - ' + ErrorString); + R := False; + end; + if not CheckLoadDLL(MSDLL_Core[i] + 'd.dll', ErrorCode, ErrorString) then + begin + mmo1.Lines.Add('Verifying ' + MSDLL_Core[i] + 'd.dll'); + mmo1.Lines.Add(' Error code: ' + ErrorCode.ToString + ' - ' + ErrorString); + R := False; + end; + pb1.Position := pb1.Position + 1; + Application.ProcessMessages; + end; + if R then + mmo1.Lines.Add('OK'); + + mmo1.Lines.Add('------- OpenCV DLL -------'); + R := True; + for i := 0 to High(CVDLL_Core) do + begin + if not CheckLoadDLL(CVDLL_Core[i] + '.dll', ErrorCode, ErrorString) then + begin + mmo1.Lines.Add('Verifying ' + CVDLL_Core[i] + '.dll'); + mmo1.Lines.Add(' Error code: ' + ErrorCode.ToString + ' - ' + ErrorString); + R := False; + end; + if (i < High(CVDLL_Core)) and (not CheckLoadDLL(CVDLL_Core[i] + 'd.dll', ErrorCode, ErrorString)) then + begin + mmo1.Lines.Add('Verifying ' + CVDLL_Core[i] + 'd.dll'); + mmo1.Lines.Add(' Error code: ' + ErrorCode.ToString + ' - ' + ErrorString); + R := False; + end; + pb1.Position := pb1.Position + 1; + Application.ProcessMessages; + end; + if R then + mmo1.Lines.Add('OK'); + + mmo1.Lines.Add('------- Delphi-OpenCV classes DLL -------'); + R := True; + for i := 0 to High(CVDLL_Classes) do + begin + if not CheckLoadDLL(CVDLL_Classes[i] + '.dll', ErrorCode, ErrorString) then + begin + mmo1.Lines.Add('Verifying ' + CVDLL_Classes[i] + '.dll'); + mmo1.Lines.Add(' Error code: ' + ErrorCode.ToString + ' - ' + ErrorString); + R := False; + end; + if not CheckLoadDLL(CVDLL_Classes[i] + 'd.dll', ErrorCode, ErrorString) then + begin + mmo1.Lines.Add('Verifying ' + CVDLL_Classes[i] + 'd.dll'); + mmo1.Lines.Add(' Error code: ' + ErrorCode.ToString + ' - ' + ErrorString); + R := False; + end; + pb1.Position := pb1.Position + 1; + Application.ProcessMessages; + end; + if R then + mmo1.Lines.Add('OK'); + + mmo1.Lines.Add('------- FFMPEG DLL -------'); + R := True; + for i := 0 to High(FFMPEGDLL) do + begin + if not CheckLoadDLL(FFMPEGDLL[i] + '.dll', ErrorCode, ErrorString) then + begin + mmo1.Lines.Add('Verifying ' + FFMPEGDLL[i] + '.dll'); + mmo1.Lines.Add(' Error code: ' + ErrorCode.ToString + ' - ' + ErrorString); + R := False; + end; + pb1.Position := pb1.Position + 1; + Application.ProcessMessages; + end; + if R then + mmo1.Lines.Add('OK'); + + mmo1.Lines.Add('------- SDL DLL -------'); + R := True; + for i := 0 to High(SDLDLL) do + begin + if not CheckLoadDLL(SDLDLL[i] + '.dll', ErrorCode, ErrorString) then + begin + mmo1.Lines.Add('Verifying ' + SDLDLL[i] + '.dll'); + mmo1.Lines.Add(' Error code: ' + ErrorCode.ToString + ' - ' + ErrorString); + R := False; + end; + pb1.Position := pb1.Position + 1; + Application.ProcessMessages; + end; + if R then + mmo1.Lines.Add('OK'); + finally + pb1.Position := 0; + btn1.Enabled := True; + end; +end; + +end.