[fdo-trac] #392: ODBCDriver.lib::odbcdr_rdbi_init() scrambles
rdbi_methods on Windows Release x64
FDO
trac_fdo at osgeo.org
Wed Sep 10 15:34:11 EDT 2008
#392: ODBCDriver.lib::odbcdr_rdbi_init() scrambles rdbi_methods on Windows
Release x64
---------------------------+------------------------------------------------
Reporter: edzimmerman | Owner: edzimmerman
Type: defect | Status: new
Priority: major | Milestone:
Component: FDO API | Version: 3.2.0
Severity: 2 | Keywords:
External_id: 1117781 |
---------------------------+------------------------------------------------
Consider this test program:
#include <stdio.h>
#include <tchar.h>
#include "fdo.h"
int _tmain(int argc, _TCHAR* argv[])
{
wchar_t *provider = L"Autodesk.SqlServer.3.3";
printf("%ls\n", provider);
wchar_t *connStr =
L"Service=TestServer;Username=TestUser;Password=TestPassword";
try
{
FdoPtr<IConnectionManager> manager =
FdoFeatureAccessManager::GetConnectionManager ();
FdoPtr<FdoIConnection> conn = manager->CreateConnection
(provider);
conn->SetConnectionString(connStr);
conn->Open();
FdoPtr<FdoIListDataStores> listDS =( FdoIListDataStores *)
conn->CreateCommand(FdoCommandType_ListDataStores);
bool includingNonFDO = false;
listDS->SetIncludeNonFdoEnabledDatastores(includingNonFDO);
FdoPtr<FdoIDataStoreReader> dsReader=listDS->Execute();
while(dsReader->ReadNext())
{
printf("%ls\n", dsReader->GetName());
}
}
catch (FdoException *ex)
{
printf("FdoException: %ls\n", ex->GetExceptionMessage());
ex->Release();
}
catch (...)
{
printf("Unhandled exception!!!");
}
return 0;
}
If you build this against the Windows Release x64 FDO build and run
through the code in the debugger, you will see that it fails due to the
function pointers in the method table being initialized is not correct. In
the Debug x64 build, the methods table is correct.
--
Ticket URL: <http://trac.osgeo.org/fdo/ticket/392>
FDO <http://fdo.osgeo.org/>
Feature Data Objects
More information about the fdo-trac
mailing list