   weired situation between Direct3D9 and OCX.
Hi. I experienced strange things.. is there some problem with compatibility between OCX and DirectX or VB6? I only created Device (LPDIRECT3DDEVICE9) with IDirect3D9::CreateDevice() in OCX code. and then I added this ocx Control to my application made in VB6. but some reason, return value of Now function was incorrect after CreateDevice() called. and there is another situation with Delphi. i added ocx Control to my application made in Delphi6. but the value of devision was strange too. for example ,when i calcurate 4/2 ,result value is  2 without CreateDevice(), but 1.99999.. after CreateDevice() called. is there any idea? DirectX SDK version is 2010JUNE.is there some problem with compatibility between OCX and DirectX or VB6?do i need to downgrade directX SDK? like DirectX 9.0b.. or lower. Or source code has a problem?   m_d3dpp.BackBufferWidth  = 100; m_d3dpp.BackBufferHeight = 100; m_d3dpp.BackBufferFormat = D3DFMT_X8R8G8B8; m_d3dpp.BackBufferCount  = 1; m_d3dpp.MultiSampleType  = D3DMULTISAMPLE_NONE; m_d3dpp.MultiSampleQuality    = 0; m_d3dpp.SwapEffect  = D3DSWAPEFFECT_COPY; m_d3dpp.hDeviceWindow    = m_hwnd; m_d3dpp.Windowed    = m_bWindowed; m_d3dpp.Flags  = 0; m_d3dpp.FullScreen_RefreshRateInHz = D3DPRESENT_RATE_DEFAULT;  m_d3dpp.PresentationInterval   = D3DPRESENT_INTERVAL_IMMEDIATE; hr = m_pD3D9->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL , m_hwnd, D3DCREATE_SOFTWARE_VERTEXPROCESSING | D3DCREATE_MULTITHREADED , &m_d3dpp , &m_pD3Ddevice );  Thank you.
Your problems are floating point precision releated, try passing the flag 'D3DCREATE_FPU_PRESERVE' to the CreateDevice call.