diff options
| author | Derric Williams <derricw@gmail.com> | 2015-12-02 13:47:18 -0800 |
|---|---|---|
| committer | Derric Williams <derricw@gmail.com> | 2015-12-02 13:47:18 -0800 |
| commit | 89ba325cdae101279afbb6ab3f7e856667d769e9 (patch) | |
| tree | cfdc1d4f6c637ac7f57f4b6ac72fbacb78cb867e | |
| parent | 5a60633e29f2b0571b9f1b4e971672e85ef41b9c (diff) | |
| download | pymba-89ba325cdae101279afbb6ab3f7e856667d769e9.tar.gz pymba-89ba325cdae101279afbb6ab3f7e856667d769e9.zip | |
windows dll search
vimbadll now searches for highest version windows dll instead of being
hardcoded to 1.3
| -rw-r--r-- | pymba/vimbadll.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/pymba/vimbadll.py b/pymba/vimbadll.py index 09984f0..b1201a3 100644 --- a/pymba/vimbadll.py +++ b/pymba/vimbadll.py @@ -7,12 +7,19 @@ import os from ctypes import * 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)) ] + return dlls[-1] + from ctypes.util import find_msvcrt _cruntime = cdll.LoadLibrary(find_msvcrt()) if '64' in platform.architecture()[0]: - vimbaC_path = r'C:\Program Files\Allied Vision Technologies\AVTVimba_1.3\VimbaC\Bin\Win64\VimbaC.dll' + vimbaC_path = find_win_dll(64) else: - vimbaC_path = r'C:\Program Files\Allied Vision Technologies\AVTVimba_1.3\VimbaC\Bin\Win32\VimbaC.dll' + vimbaC_path = find_win_dll(32) dll_loader = windll else: _cruntime = CDLL("libc.so.6") |
