Мое приложение поддерживает XP и выше, и я пытаюсь использовать новые интерфейсы CFileDialog (т. Е. GetIFileOpenDialog()) при работе под Vista и выше (для соблюдения ограничений этих интерфейсов).Поддержка CFileDialog XP и Vista
Итак, я проверяю версию ОС и стараюсь использовать эти интерфейсы, если это необходимо, и откидываться на старые методы для XP. Проблема в том, что при работе под XP у меня возникают сбои LoadLibrary (код в DLL), поэтому, похоже, происходит некоторая ранняя привязка. Как только я прокомментирую код, который использует эти интерфейсы, тогда LoadLibrary преуспеет.
Возможно ли вообще иметь CFileDialog-код, используя функции Vista, работающие под XP, даже если код не вызывается?
Благодаря
Любая идея, как найти, где реализован GetIFileOpenDialog? Я попробовал comdlg32.dll, и его там нет. – user2608239
Держитесь, это использует MFC, не так ли? Таким образом, в первую очередь вам понадобится правильная версия MFC на машине XP. –
Да, но я в настоящее время пытаюсь динамически вызвать GetIFileOpenDialog() на компьютере под управлением Windows 7, который, как я знаю, отлично работает, когда я называю это статически. Джунгли MFC dll - это лабиринт для просеивания, и я не могу найти, где реализован GetIFileOpenDialog(). Я даже пытался использовать все через интерфейсы COM, и у меня такая же проблема (например, моя dll не будет загружаться на XP). Как будто все должно быть ранней привязано. – user2608239