From b9fb36b14fd495741d332480b430fa3bd6c16748 Mon Sep 17 00:00:00 2001 From: Juerg Rast Date: Mon, 2 May 2016 17:49:36 +0200 Subject: Better DLL search, including support for Vimba 2.0 --- pymba/vimbadll.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/pymba/vimbadll.py b/pymba/vimbadll.py index c1d9430..68c8bfd 100644 --- a/pymba/vimbadll.py +++ b/pymba/vimbadll.py @@ -10,8 +10,17 @@ if sys_plat == "win32": def find_win_dll(arch): """ Finds the highest versioned windows dll for the specified architecture. """ - base = r'C:\Program Files\Allied Vision Technologies\AVTVimba_1.%i\VimbaC\Bin\Win%i\VimbaC.dll' - dlls = [base % (i, arch) for i in range(10) if os.path.isfile(base % (i, arch)) ] + bases = [ + r'C:\Program Files\Allied Vision Technologies\AVTVimba_%i.%i\VimbaC\Bin\Win%i\VimbaC.dll', + r'C:\Program Files\Allied Vision\Vimba_%i.%i\VimbaC\Bin\Win%i\VimbaC.dll' + ] + dlls = [] + for base in bases: + for major in range(3): + for minor in range(10): + candidate = base % (major, minor, arch) + if os.path.isfile(candidate): + dlls.append(candidate) if not dlls: raise IOError("VimbaC.dll not found.") return dlls[-1] -- cgit v1.2.3