inpout32.dll & vb6 problem in Windows XP

A

Thread Starter

Abry

hi. I developed a program in visual basic 6(executable) using inpout32.dll for interfacing but it did not run on windows XP. I pasted inpout32.dll on windows\system or windows\system32\drivers but it still did not run. Im sure my program is fine because i have tested it on other operating systems and it worked fine. The error message was : runtime error '339' component 'COMDLG32.OCX'
 
Send me a coppy of the program, Ill work on it and let you know whether any thing is wrong. A single line may have to be added to make it work fine. Some codes are also not compatible with some operating system versions. I'll let you know once I pass though the program.
Send the program to [email protected]
 
Hi! I am using this inpout32.dll with VB6 and using parallel port LPT1(with 8 LED's + limiting resistors) for my Computer Programming Class and
I didn't have any problem. I use the same program with a DIO-24 Card (Computer Boards) and again it worked fine. As some body says, you may have problems with the common dialog OCX.
 
Hi. I was working today with inpout32.dll, and I faced a similar problem (the difference is that I was working with vc instead of vb). I tried to debug the code of the dll, and eventually solved the problem. DllMain function calls OpenDriver, which tries to open hwinterface.sys. If this file does not exists in C:\WINNT\system32\drivers, it tries to create it. It seems that under windows XP and NT, you can create a file under this folder only if you have administrator privileges.

Hence, the solution is to manually copy hwinterface.sys in C:\WINNT\system32\drivers, or to let your application to run at least for the first time with administrator privileges.
 
W

Wilson Madrid

The problem is caused by runtime error '339' component 'COMDLG32.OCX'

you need register el activex component with regsvr32 COMDLG32.OCX from the command line.
 
Hi, I've a ASP problem with with inpout32.dll, in particular with hwinterface.ocx, I can't find anything about the use under ASP.

I use:
'line to call the obj
set para_port = server.createobject("HWINTERFACE.HwinterfaceCtrl.1")
line tu use (on which crash)
data_in = para_port.InPort(port_number)

The problem is I use only the firs line: Everything OK
On the secon line even if I use para_port.AboutBox()
I got always the same error:
(0x8000FFFF)
Errore irreparabile (I don't know ho to translate, and google doesn't help)

Thanks for interest.

Alex
 
This is a simple error to correct, the program was written using a different version of the Common Dialog control. If you have the source code to the program the only thing you need to do is delete the common dialog control from the form and add it again (this will make it then use the version of the control from the system you are on). This is a common deployment problem for visual basic, my suggestion is to write your own save/open dialog instead of using the control.

Hope this helps,
[email protected]
 
Hello, I have recently discovered that the INPOUT32.dll does not work on windows XP running on FAT32 partition. But it will run on windows XP under NTFS parition. Hope this helps...
 
<p>I know this was 3 years ago, but I just started using the control and wanted to use it in an ASP page. To make a (very) long story short, I got it working.

<p>It only takes a few small changes to the MFC code. However, to get the whole thing to (optionally) compile with Unicode enabled, it takes a few more changes to InpOut32drv.cpp or you'll get a bunch of casting errors.
<pre>
hwinterfaceCtl.h
// Overrides
//{{AFX_VIRTUAL...
virtual void OnResetState...
//the following line makes the control work with ASP
virtual BOOL IsInvokeAllowed(DISPID dispid);

hwinterfaceCtl.cpp
CHwinterfaceCtrl::~CHwinterfaceCtrl()
{
Closedriver();
}

//this function makes the control work with ASP
BOOL CHwinterfaceCtrl::IsInvokeAllowed(DISPID)
{
return true;
}
</pre>

<p>That's all that's needed if you make sure you're compiling in ANSI and not Unicode. If you decide to make it a Unicode app, you'll need to add _T() around all string literals and change "char" types to TCHAR types. There may be a few other changes I made, but I don't remember right now and I'm on a different computer so I can't check.

<p>Hope this helps!
 
Top