Solved

XP to VM glitch

Posted on 2014-04-06
11
225 Views
Last Modified: 2016-10-27
Greetings,

    Can anyone help with a problem I'm having where I
have coded an  MS Access 2003 program that has run
faithfully for years under Win XP with DirectX8 on two
different vintage laptops but now fails under
VMWare Workstation 7.0.1.
    I used Acronis True Image to copy a complete image
of the laptops C drive to the virtual host.  It boots
XP with no problem, runs Access with no prob.  But it
dies while running my program giving the following error;

     Microsoft Visual Basic
      Run-time error "91":
            Object variable or With block variable not set

If I select Debug, it jumps in the code to the line;
            diDev.Poll

Note in the begining of the code code are the lines;
            Dim di As DirectInput8
            Dim diDev As DirectInputDevice8
            Dim diDevEnum As DirectInputEnumDevice8

Note:  On the laptops (running XP)  the program runs
withOUT any problem.

Thanks.
0
Comment
Question by:Spudstah
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
11 Comments
 
LVL 84

Assisted Solution

by:Scott McDaniel (Microsoft Access MVP - EE MVE )
Scott McDaniel (Microsoft Access MVP - EE MVE ) earned 75 total points
ID: 39982053
In most cases you must install referenced libraries like that. I'm not sure if TrueImage would do this properly, but it would sure seem like it would.

Do you have the installation media for DirectInput8 (whatever that is)? If so, try running that on the vmWare install to see if that resolves it.
0
 
LVL 48

Accepted Solution

by:
dbrunton earned 350 total points
ID: 39982058
Possibly ...

It looks like you are trying to run DirectX commands.  Check that the laptop supports DirectX.  See http://pubs.vmware.com/workstation-10/topic/com.vmware.ws.using.doc/GUID-EA588485-718A-4FD8-81F5-B6E1F04C5788.html

You may also have to install VMWare Tools.  See https://www.vmware.com/support/ws5/doc/ws_vidsound_d3d_enabling_guestos.html
0
 

Author Comment

by:Spudstah
ID: 39982062
DirectInput8 is an internal of the Microsoft DirectX8 ("blackbox software")  DirectX8
interfaced the Input/Output communications.  Starting with DirectX10 microsoft
dropped it's legacy support of the input functions.  However, the WinXP OSs on
both laptops were running DirectX8 (which was the standard MS I/O and was
an integral part of the WinXP OS.

True image has always installed a "true image" for me in the past.  Meaning in part
that since DirectX8 is part of WinXP and WinXP is all imaged, like you, I don't see
True Image dropping the ball here.

Secondly, I have a host of WinXP Pro where I installed the host from an original full installation disk,, and it's acting the same.
0
Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

 

Author Comment

by:Spudstah
ID: 39982074
dbrunton,

You are correct that I am trying to run DirectX commands  --- in a WinXP host that is a True Image of an WinXP OS running DirectX8.  The Host is being run in VMware Workstation on a laptop that's natively running DirectX10 so I would expect it to be capable of dealing with
8.

VMWare Tools is loaded
0
 
LVL 48

Expert Comment

by:dbrunton
ID: 39982155
At the command line in the VM machine type

dxdiag

and see what that does.
0
 

Author Comment

by:Spudstah
ID: 39982249
dxbrunton,

  at new laptop native machine command line it shows DirectX11

  at the WinXP Host command line it shows WinXP  & DirectX9

at the legacy laptop command  line it shows WinXP  & DirectX9

In the WinXP Host dxdiag, ran the tests, all tests ran fine.
0
 
LVL 48

Expert Comment

by:dbrunton
ID: 39982267
Yeah, but try dxdiag inside the Guest machine.
0
 
LVL 120

Assisted Solution

by:Andrew Hancock (VMware vExpert / EE MVE^2)
Andrew Hancock (VMware vExpert / EE MVE^2) earned 75 total points
ID: 39982346
Has this run for years under VMware Workstation?

Probably it does not run, because the Virtual Machine does not have the 3D hardware to support DirectX v8.
0
 

Author Comment

by:Spudstah
ID: 39982796
dbrunton,

"at the WinXP Host command line it shows WinXP  & DirectX9"
was done at the command line of the WinXP Host running within VMWare.


Andrew,

It has run in WinXP as the loaded OS on laptop.    No VMware.
When my program was generated, 3D was still for the future.
The original laptop was totally divorced from 3D.
0
 
LVL 48

Expert Comment

by:dbrunton
ID: 39982861
Note in the begining of the code code are the lines;
            Dim di As DirectInput8
            Dim diDev As DirectInputDevice8
            Dim diDevEnum As DirectInputEnumDevice8

If I select Debug, it jumps in the code to the line;
            diDev.Poll

which I presume is checking for input from some device

See http://msdn.microsoft.com/en-us/library/aa264506%28v=vs.60%29.aspx and the examples there with your error code.

It may be necessary in your code to check whether diDev has actually acquired anything.  For example

if diDev Is Nothing Then <<Pop up message>> stolen from http://www.pages.drexel.edu/~cwk23/vbJoystick.pdf
0
 

Author Closing Comment

by:Spudstah
ID: 39991211
It turns out no answer helped find the problem.....although I did.

I'm at a quandry as to how to close this question so I spread the points out based on how many times a person responded.

The program runs as originally written.  The solution is that when loaded in VMWare the gamepad has to be plugged in After the host is running.  DirectX would not see one attached to the native computer..... Even if you used the VM device attach/switch option.
Once I found the trick of attaching the gamepad -After- the host was up and running, everything seems to be running fine.

Thanks for trying.
0

Featured Post

Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Giving access to ESXi shell console is always an issue for IT departments to other Teams, or Projects. We need to find a way so that teams can use ESXTOP for their POCs, or tests without giving them the access to ESXi host shell console with a root …
In Part II of this series, I will discuss how to identify all open instances of Excel and enumerate the workbooks, spreadsheets, and named ranges within each of those instances.
In Microsoft Access, learn how to use Dlookup and other domain aggregate functions and one method of specifying a string value within a string. Specify the first argument, which is the expression to be returned: Specify the second argument, which …
The viewer will learn how to simulate a series of coin tosses with the rand() function and learn how to make these “tosses” depend on a predetermined probability. Flipping Coins in Excel: Enter =RAND() into cell A2: Recalculate the random variable…

739 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question