com >> VB6 compatibility with Windows vista

by R2VyYWxkIEJhZGVy » Thu, 09 Feb 2006 21:56:15 GMT

Hi all!

I am testing my VB6 application in Windows Vista Beta 1.

In this application I use the "WebBrowser" control of the library "Microsoft
Internet Controls". In WinXP this library was in the file "shdocvw.dll"; the
project reference pointed to this file. Opening my project in Windows Vista
changes this reference to the file (or whatever this is...) "ieframe.dll\1".
Using the WebBrowser control at runtime the application crashes with the
message "...\ieframe.dll\1' not found...".

Then I made a new empty VB6 project in Windows Vista and tried to add the
component "Microsoft Internet Controls". Here also this message appears and
the component is not being added.

Does anyone of you also have these problems?
How do you solve it?

Thanks for any help in advance!

Greetings from Austria
Gerald


Similar Threads

1. imnsho: yet another very bad MS decision: Windows Help (WinHlp32.exe) program is no longer included in Windows operating systems starting with Windows Vista (was: Starting Winhelp with VB6 application on Vista) - Visual Basic/VB

2. Windows 98 compatibility for Access for Windows apps

Hi,

I wrote a Windows  app that uses Crystal reports (Crystal Reports version
that is part of VB) and Access (dot net framework 1.1 and visual basic
2003). Works fine on Windows 2000 Professional or later OS. I tested it on a
fresh install of Windows 98 (without going through Windows update). The
failures I experienced and their solutions were:

1. setup.exe failed - solution, used newer version of shlwapi.dll (I was
using the newer setup.exe (add-in to VB) that includes routines to
automatically install dot net framework and MDAC)

2. dot net framework wouldn't install - solution upgrade IE version 4 to 5.5
(this is described in "other" requirements for dot net)

3. my app failed to load cause Microsoft.Jet.OLEDB.4.0 was unregistered.
Downloaded and installed MDAC 2.5 SP3

4. my app failed to load - got "report load failed" Crystal Reports error.
Tried to manually register CRQE.dll - failed. Replaced version of atl.dll
with ME version. CRQE.dll then registered and app works.

Sorry but may have tried a few other things between, lol.

Question: I though MDAC version 2.6 or later is required. I know these
versions don't have Jet OLEDB. Does this mean I need to install both MDAC
2.5 and 2.6?

Thanks,
Jan


3. compatibility of ActiveX control for Windows XP and Windows 2000

4. Creating Menu Bitmaps with alpha channel for Windows Vista in VB6

I am trying to create a simple icon at runtime with an alpha channel that I 
can apply to the menu.  I have been somewhat successful at this using 
CreateIcon and DrawIconEx as well as one or two other ways, but my problems 
is that if the user's machine is not set to 32 bit colors in display 
settings, then it doesn't work.  The following is the code that I used to do 
this.  Please help me fix this problem.
As you can see I have tried setting the menu image several ways all with the 
same result.  As long it is 32 bit in display settings, everything works, 
otherwise it fails to draw anything.

Private Sub cmdTestBmp_Click()
    SetMenuImage Array(0, 1), CreateOverrideBitmap
End Sub

Private Sub SetMenuImage(ByVal MenuTree As Variant, ByVal Bmp As Long) 
'MenuTree is an array that holds a zero based menu index path to the desired 
menu
    Dim MainMenuHandle As Long
    Dim MenuHandle As Long
    Dim i As Integer
    Dim mii As MENUITEMINFO
    Dim mi As MENUINFO

    ' Get the menu handle.
    MainMenuHandle = GetMenu(Me.hwnd)
    MenuHandle = MainMenuHandle

    For i = LBound(MenuTree) To UBound(MenuTree) - 1
        MenuHandle = GetSubMenu(MenuHandle, MenuTree(i))
    Next i

    With mi
        .cbSize = Len(mi)
        .fMask = MIM_STYLE
        .dwStyle = MNS_NOCHECK
    End With

    SetMenuInfo GetSubMenu(MenuHandle, MenuTree(UBound(MenuTree))), mi

    With mii
        .cbSize = Len(mii)
        '.fMask = MIIM_CHECKMARKS
        '.fMask = MIIM_CHECKMARKS Or MIIM_BITMAP
        .fMask = MIIM_BITMAP
        .hbmpItem = Bmp
        '.hbmpChecked = Bmp
        '.hbmpUnchecked = Bmp
    End With

    ' Assign the picture.
    SetMenuItemInfo MainMenuHandle, GetMenuItemID(MenuHandle, 
MenuTree(UBound(MenuTree))), 0, mii
    'SetMenuItemBitmaps MainMenuHandle, GetMenuItemID(MenuHandle, 
MenuTree(UBound(MenuTree))), 0, Bmp, Bmp
End Sub

Public Function CreateOverrideBitmap() As Long
    Dim pixels(15, 15) As Long
    Dim maskArray(255) As Long
    Dim hIcon As Long
    Dim nWidth As Long
    Dim nHeight As Long
    Dim hBmp As Long
    Dim hOrigBmp As Long
    Dim m_hDC As Long
    Dim m_hDIb As Long
    Dim m_hBmpOld As Long
    Dim m_lPtr As Long
    Dim m_tBI As BITMAPINFO
    Dim bCreated As Boolean

    m_hDC = CreateCompatibleDC(0)

    If (m_hDC <> 0) Then
        With m_tBI.bmiHeader
            .biSize = Len(m_tBI.bmiHeader)
            .biWidth = nWidth
            .biHeight = nHeight
            .biPlanes = 1
            .biBitCount = 32
            .biCompression = BI_RGB
            .biSizeImage = .biWidth * 4 * .biHeight
        End With

        m_hDIb = CreateDIBSection(m_hDC, m_tBI, DIB_RGB_COLORS, m_lPtr, 0, 0)

        If m_hDIb <> 0 Then
            m_hBmpOld = SelectObject(m_hDC, m_hDIb)
            bCreated = True
        Else
            DeleteObject m_hDC
            m_hDC = 0
        End If
    End If

    hBmp = CreateCompatibleBitmap(m_hDC, nWidth, nHeight)
    'hBmp = CreateCompatibleBitmap(m_hDC, 16, 16)

    hOrigBmp = SelectObject(m_hDC, hBmp)

    hIcon = CreateIcon(0, nWidth, nHeight, 1, 32, VarPtr(maskArray(0)), 
VarPtr(pixels(0, 0)))

    DrawIconEx m_hDC, 0, 0, hIcon, nWidth, nHeight, 0, 0, DI_NORMAL 'DI_MASK

    DestroyIcon hIcon
    hBmp = SelectObject(m_hDC, hOrigBmp)

    If (m_hDC <> 0) Then
        If (m_hDIb <> 0) Then
            SelectObject m_hDC, m_hBmpOld
            DeleteObject m_hDIb
        End If

        DeleteObject m_hDC
    End If

    DeleteDC m_hDC

    m_hDC = 0
    m_hDIb = 0
    m_hBmpOld = 0
    m_lPtr = 0

    CreateOverrideBitmap = hBmp
End Function

5. How can I install VB6 in Windows Vista??? - VB.Net

6. Receive 429 Error in VB6 Application in Windows Vista

I have a Visual Basic 6.0 application that I maintain that uses a couple of 
custom built components.  The application will install fine on Windows 2000 
and Windows XP.  I can install the application on Windows Vista, but when I 
try to run the application I get an error "429 - ActiveX component can't 
create object". 

Usually this means that one of my components were not registered on the 
computer system.  So to correct the situation I opened a command window and 
entered the command below.

regsvr32 <DLL Name>.dll

When I did this  I recieved a error message that produced the error code 
0X80004005.  I later found that I needed to run the command window in 
Administrative permissions.  I then tryed to do the regsvr32 command in admin 
mode, and I was able to register all of my components.

I then tryed to run the application but I still received the error "429 - 
ActiveX component can't create object".  Does anyone have any idea why this 
error is still occuring even though I know I registered all of my components. 
 If anyone has some good ideas I would be willing to try them.  Thanks.

7. VB6 does not work in Windows Vista Business

8. vb6 Drivelistbox Problem Windows Vista

Hi,
currently i am placed in Bugfixing on a Vb6 project,i am reported with the
product is not properly working in Windows Vista,later i found that problem
is with the drivelistbox,that doesnot shows the mapped drives while running
the EXE(It works properly while running from the Code). and i tested the
drivelistbox behavour on a seperate project it works properly(show all drives
includes mapped drives) in both the code and EXE.

Is anybody there to notice me that what could be the Problem...

Thanks & Regards
Venkatramasamy SN