File not found : libgfl190.dll in vb 6.0 - dll

I am trying to run our User Controller using TwainDriver. it also include the TIF2JPG Converter. When the converter function runs, at first is display the error cannot open the ActiveX Controller so i decided to re run the dll, un-registering and registering again the dll but after that another new error shows.
Run time error '53'
File not found : libgfl190.dll

the ActiveX control rely on that dll (libgfl190.dll) but it can not find it. put the dll in %windir%\system32 (32 bit) or %windir%\syswow64\ (64 bit)

Related

Activating Reference in VBA Excel 2010 Project Programmatically

I developed a program in Word and Excel version 2010 using VBA. Within the VB IDE I created a form for which I added a ListView control to. In order to do this I had to open the tools window, right click on it, and select ListView as a component. It then became available to add as a component. It is using the MSCOMCTL.OCX. It functions perfectly on my device, but when I execute the program on another computer, the code raises an object error on the first line that addresses my ListView control:
Run-time error '424'
Object Required
With lvwLog
.ListItems.Clear <--- Error occurs here
.ColumnHeaders.Clear
All the computers in my company are configured/imaged the same way. All are using the same version of office, using Windows 7 Enterprise, and all will have the ListView 6.0 under the component's menu, just not selected. If I were to go into the IDE on the "foreign" computer and open up the form in design, the ListView is not there. You can probably guess that when I add it and name it the same as how my code is addressing it, this will then work on the other computer as designed.
There is no package and deployment wizard available in the Office version of the IDE, and even though I can probably find this, my end users will not go through the process of "installing" an Excel or Word document. If I can't find a way to get this control to register programmatically, then this application I wrote is just not going to get acceptance.
Though we have very few 64bit versions of Office, a different error is raised if opened on a device running the 64bit version of 2010:
System Error: &H80040111 (-2147221231). ClassFactory cannot supply selected class. This appears to be related to the same error, as it errors on the same line of the ListView code. Not sure if once I fix the above if I will need to re-write it in a 64bit version of Office.
Note: "Moving to another computer" simply consists of copying the DOCM or XLTM file to the device and opening it.
After further research I determined that the MSCOMCTL.OCX in the C:\Windows\System32 sub directory on my device was a much newer version than the OCX on the devices in which the code was failing on. This OCX is directly related to the ListView component I was adding to the form.
Once I copied the later version of MSCOMCTL.OCX (version 6.1.98.39, file date 3/31/2014) then the program ran and loaded the ListView control with no errors. Something else I will note is it is not necessary to re-register the OCX if it is being copied to the same system directory and with the same name. Simply copying to the system folder and overwriting the older file will suffice.

Windows XP Excel VBA Crashes on Windows 7

I am trying to switch a Excel VBA macro from Windows XP to Windows 7. Both of the Windows versions are 32-bit operating systems. My Windows 7 version is Enterprise edition.
The VBA code works fine on Windows XP. When I have tried to run the code on Windows 7, it crashes and reports no error description.
I have registered msinet.ocx, which appears to be required for Microsoft Internet Transfer Control 6.0. I have also tried to fix security issues by adding the additional com components tabctl32, comctl332/232/32 and comdlg32, all of which are ocx files. However, nothing changes - my code still fails on Windows 7.
Once msinet was unregistered, Excel VBA opens my Workbook, reports the missing reference msinet and does not work at all. How do I resolve this issue?
Awkward. Open the sheet in an Excel session with Macro Security set to high or medium, and reply 'No' to the dialogue about enabling VBA macros in the sheet.
If it opens, you should still be able to view the project, and this might show an obvious missing reference or an error if you attempt to compile it.
Next: save the workbook as html and close Excel. Clear the temp folder, restart excel, open the html file and save it back into Excel format. If you're lucky, all the legacy objects and references will be cleared out and replaced by versions compatible with your new OS.
This works about half the time.
The system not crashing when msinet.ocx is not registered doesnt necessary means that it is the problem.
If you have a call to that library (msinet.ocx) in any procedure inside of or called from the ThisWorkbook module and you have that library unregistered, then when the file opens and tries to run the On open macro the module will not compile and therefore wont run the line of code that makes it crash. (I am only guessing that this might be your case.)
Try to find out which exact call makes your system crash.
Let msinet.ocx registered.
Open the file without activating the macros.
Then manually run Step by Step (F8) through the opening code of your file ( Private Sub Workbook_Open() )
Eventually you will reach the exact line of code that makes your system crash. Whit that information you will be able to get more help.
NOTE:
To open the file without activating the macros you can use one of the following methods:
Press and keep pressed the Shift key after you doubleclicked on the file to open it(from the windows explorer). For this method to work, the Excel application must be clossed.
If the Excel application is open, then go to the VB editor and type application.EnableEvents=False in the immediate window (and press enter to run it). Just be aware that this will disable the events on every file in that instance of Excel. You will have to set it back to true or close the application (not just the file).
Check if you don't have references to missing libraries, if so simply uncheck it. I had a similar problem and it helped in my case.

VS 2010 Error Opening Design View

There is no editor available for 'file path here'. Make sure the application for file type (.vb) is installed.
This is the error that I get when I try to open a project I did a while back in VB. I tried a C# project and I can open the form for viewing fine, but for some reason VB won't work? Any ideas? I really don't want to do a repair on the whole application as it takes a while and I'm not even sure I have the ISO right now.
Check the compile mode of the object. If it is not set to "compile" then VS gets a bit weird about opening it up.

Calling a dll function

I am converting from vb5 and have a dll (now converted to VB.NET) which I use for security checks (mysecurity.dll). It contains the class cSecurityCheck and has a few interfaces, as shown in the VB5 code below, which is how I called it in VB5 from my app. I have copied the VB.NET compiled mysecurity.dll to my project's bin directory and added it as a reference to my VB.NET project(project\bin\mysecurity.dll) but in the project calling module (code below) it doesn't recognise CSecurityCheck, saying it has not been defined. How do I call the dll functions?
This dll is used by all my programs and when I finally get to distribute them to a client how do I ensure all the installed executables can look at the one single copy of the dll, which contains the registered user's name?
Dim s As New CSecurityCheck
s.AppPath = Application.StartupPath()
If Not s.DateIsValidated Then
s = Nothing
End
End If
mRegisteredUser = s.RegisteredUser
mDaysRemaining = s.DaysRemaining
s = Nothing
Adding a COM dll to your project automatically creates a namespace for the types in the DLL. Add Imports TheVb5ProjectName at the top of the file.
If you don't know what that name might be (it depends on VB5 project settings) then click the "Show All Files" icon in the Solution Explorer window, open the References node, locate the imported reference. Right-click it and click View in Object Browser.

Weird debugging situation: "There is no source code available for the current location"

I have a Windows Forms application in a single project written in VB.NET 2003 (legacy code). There is a MainForm and a SecondaryForm that is run by the MainForm. When I run the application through the MainForm, I can debug without any problems.
However, if I just run the SecondaryForm, I get the debug error:
There is no source code available for the current location
when stepping over:
_routeId = CInt(myVar)
At this point I am no longer able to debug through my code window, but I have to use the disassembled code.
Why does this happen and how can I fix it?
My problem was of the Step-Into kind. I could step into a procedure inside a usercontrol just fine, but when its End Sub was encountered and I was leaving that Sub, I would get the "There is no source code available for the current location." error page.
The solution that personally worked for me was: In the Project Properties page, under "Debug", uncheck "Enable unmanaged code debugging".
I have seen this issue many times... and more often than not it is a reference(s) issue. Is it your code that has "no source" or is it Microsoft code? Do you have multiple versions of the .NET Framework installed?
Double check your references.