I am trying to upgrade a VB6 project to run it on VB8, but I am getting an error which says that you need to install TABCTL32.OCX(1.1.0).
What shall I do? Please Help.
Thanks in advance.
To run the upgrade wizard you need VB6 installed on the machine, and also any controls used in the code you are upgrading.
Tabctl32.ocx is the Tabbed Dialog Control 6.0, the standard tab control from VB6. If you install VB6 you will be fine.
See Microsoft's list of controls shipped with Visual Basic 6.
Related
My solution worked fine under Win8.1 using VS2013. Then I did a clean install of Win10. I ran the msi that was created back on XP some time ago, and it installed my VB app after asking for a .NET3 version. But then I started up VS2015 for the first time and loaded my VB app's solution. I get errors like this: BC30002 Type 'Excel.Workbook' is not defined.
I looked in Control Panel's Programs and Features and only see .NET 4.5 and 4.6 items (nothing for .NET 3).
My solution includes references to Microsoft.Office.Core and Microsoft.Office.Interop.Excel.
What do I need to do to fix this?
I solved this by going back to Control Panel/Programs and Features, selecting Microsoft Visual Studio Community 2015, clicking Uninstall or change a program. Then when the VS2015 installer opened, I selected Modify, then All (every installation option) and installed VS again. That solved the above problem.
But now I have a new error: BC30002 Type 'ExcelLateBind is not defined. How do I fix this?
I have a dotnetbar version 10.0.0.3 and when I add it on control toolbox window and drag it to my form this always happen.
as you can see, LabelX1, TextBoxX1 and ButtonX1 are in the form, but in the design it doesn't.
I had the same problem.
I think it's something about the dll.
I installed DevComponents.DotNetBar2 on my PC (it's a setup called DotNetBarSetup) and then
I got the dll-file from the HD
C:\Program Files (x86)\DotNetBar for Windows Forms\DevComponents.DotNetBar2.dll
Next, you have to drag the dll-file from windows explorer to the toolbox in Visual studio.
That should do the trick.
Hope this helps.
I had this problem in log time. finally i found the exact solution for this problem. The solution is install .NET Framework 3.5 (includes .NET 2.0 and 3.0) before install DotNetBar for windows form.
Hope this helps all the developers facing this problem.
I want to convert my old vb6 project to a vb.Net solution, when I open do: File->Open->Convert this is what I get:
And I can't find a way to show the available converters...
I have try:
Installing framework 1.0 since I read somewhere that it's needed
Tried to install framework 2.0 but it's says "I have it" but it's not showing in the uninstall programs list
Tried to install framework 3.0, same as before.
I even try to add the Microsoft.VisualBasic.UpgradeWizard.dll via regasm but I can't open a console command in VS2008, only in VS2010 and I have read that VS2010 can't handle the conversion from vb6 to vb.net, it has to pass over VS2008 first.
Thanks in advance!
Well, the solution was to install Visual Studio 2005, then the converters were available:
I suppose I needed Framework 1.0.
It's not perfect, it has some errors, but its a step forward for a complete solution.
Of course I've found some other 3rd party conversion programs, but they are expensive:
ArtInSoft
Visualwebgui
Hope it helps someone else!
No clue what that Convert dialog is for--there's nothing in the help on it.
According to this Forum Post, you can open the vbp in Visual Studio and it should ask to convert the project (no option to open a .vbp file in VS 2010). However, even if it still did that in VS 2010, it's a tremendously bad idea.
See also this post on converting VB6 to VB.NET.
Also, check these duplicated SO questions:
VB6 to VB.NET Conversion
How to Switch a Large App From Vb6 to VB.net
Best Strategy for Moving from VB6 to .NET
Edit:
According to this MSDN Page, the conversion wizard only goes up to Visual Studio 2005
Edit Edit: Per MarkJ's comment, Visual Studio 2008 includes the upgrade wizard. It's gone in VS 2010.
I'm experimenting with writing ActiveX controls and noticed that I can't seem to create an ActiveX control in Visual Basic (6.0) which features slightly more sophisticated controls. Simple controls like labels, buttons and check boxes seem to work fine, but as soon as I try to add e.g. a tree control to my form, the ActiveX control stays entirely blank as soon as I embed it into some host application on another computer. It works fine on my development box though.
While going through the Projects->Components (Ctrl+T) list, I found two libraries which apparently contain a tree control:
Microsoft Windows Common Controls 5.0 (SP2)
Microsoft Windows Common Controls 6.0 (SP6)
As soon as I add any of the controls from these libraries to my form, the form stays entirely gray when embedded on another computer. The other computer is a Windows XP system, so I hoped that missing redistributables wouldn't be an issue, given how old Visual Basic 6 is. To be sure, I installed the VB6 redistributables, but unfortunately that didn't make a difference.
Does anybody know why my ActiveX control would stay gray on other computers, but not on mine, as soon as I add any of the controls from the above libraries to me form? FWIW I just need a tree control so if there is some other, more appropriate, library available - that's fine with me.
UPDATE:
As it turned out, it helps to download MSCOMCTL.OCX into C:\WINDOWS\SYSTEM32 on the other computer and then registering it via regsvr32 C:\WINDOWS\SYSTEM32\MSCOMCTL.OCX. However, I didn't find an official source for this file, and running the COM registration by hand looks cumbersome to me. Is there really no redistributable I could use?
VB6 runtime is preinstalled on XP and above but the Common Controls component you are referencing is not.
Try installing Microsoft Visual Basic 6.0 Common Controls redistributable on the client machines or event better make a setup for your application.
Edit:
Opps, the link is for an update that does not install the OCXs if not already present. The only redistributable I find is a merge module for Windows Installer.
To solve this problem, I developed a .msi package. The source files (WiX) and stake posted here:
https://github.com/IT-Service/ITG.VB6CommonControlsRedist
My VB.NET application uses Microsoft Flex Grid Control 6.0. This is a legacy application which has been ported from VB6 with the Visual Studio conversion wizard. Although I can compile the assembly, I get a COMException because some class is not registered. I've found out that this class is the Microsoft Flex Grid Control 6.0.
Where can I find the control and how can I register it on machines so that the application will run?
Best Regards,
Oliver Hanappi
The "Microsoft FlexGrid Control" MSFlxGrd.ocx shipped with Visual Basic 6. It is an ActiveX control. The easiest way to get the control is to install Visual Basic 6. If you have an MSDN subscription, VB6 is available as a free download. But I am surprised you can compile your application if the control is not already installed on your development machine.
Once you have found the control, you need to register it on the machines where you need your program to run. The easiest way is just to create a deployment project. If you want to do it manually, use regsvr32 from the command line.