Я создал приложение с использованием VC ++ 2015. Это приложение MFC. Я установил проект "Cahracter Set = Not set", поэтому мне не нужна версия Unicode.
Мое приложение использует ADO для подключения к базе данных, поэтому
try {
HRESULT hr = m_pConnection.CreateInstance(__uuidof(adoNS::Connection));
if (SUCCEEDED(hr)) {
MessageBox(TEXT("CreateInstance succeeded!"));
}
catch (_com_error& e) {
MessageBox(e.Description());
}
catch (...) {
MessageBox(TEXT("OnNewDocument Exception!"));
}
Итак, другая обработка выше. Когда я собираю проект, он отлично работает на моем компьютере Windows 7 x64. Но если я запускаю приложение на другом Windows 7, я не получаю никаких исключений, CreateInstance не выполняется! ??
Так что проблема с библиотекой ADO, как я могу это выяснить, пожалуйста?
После некоторого поиска я скопировал папку ADO с целевой машины (другой компьютер под управлением Windows 7 x86) на мой компьютер (с win7 x64) и VS2015. Теперь я импортировал эту новую библиотеку ADO:
#import "C:\Users\User7\Desktop\MyMfcProg\ado\msado15.dll" \
rename_namespace("adoNS") \
rename("EOF", "adoEOF")
Теперь, если я соберу его, он будет нормально работать на обеих машинах! Так в чем же проблема? Должен ли я ссылаться на ADO каждого целевого компьютера? или проблема касается только ADO 64 бит и ADO 32 бит?
Если это так, у меня на моей win7 x64 ADO:
C:\Program Files (x86)\Common Files\System\ado
Я связался с ним, но та же проблема?