Solved

XP to VM glitch

Posted on 2014-04-06
11
219 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
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
Comment Utility
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 47

Accepted Solution

by:
dbrunton earned 350 total points
Comment Utility
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
Comment Utility
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
 

Author Comment

by:Spudstah
Comment Utility
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 47

Expert Comment

by:dbrunton
Comment Utility
At the command line in the VM machine type

dxdiag

and see what that does.
0
NetScaler Deployment Guides and Resources

Citrix NetScaler is certified to support many of the most commonly deployed enterprise applications. Deployment guides provide in-depth recommendations on configuring NetScaler to meet specific application requirements.

 

Author Comment

by:Spudstah
Comment Utility
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 47

Expert Comment

by:dbrunton
Comment Utility
Yeah, but try dxdiag inside the Guest machine.
0
 
LVL 117

Assisted Solution

by:Andrew Hancock (VMware vExpert / EE MVE)
Andrew Hancock (VMware vExpert / EE MVE) earned 75 total points
Comment Utility
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
Comment Utility
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 47

Expert Comment

by:dbrunton
Comment Utility
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
Comment Utility
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

Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

Join & Write a Comment

VM backup deduplication is a method of reducing the amount of storage space needed to save VM backups. In most organizations, VMs contain many duplicate copies of data, such as VMs deployed from the same template, VMs with the same OS, or VMs that h…
It Is not possible to enable LLDP in vSwitch(at least is not supported by VMware), so in this article we will enable this, and also go trough how to enabled CDP and how to get this information in vSwitches and also in vDS.
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…
This video shows you how easy it is to boot from ISO images for virtual machines with the ISO images stored on a local datastore on the ESXi host.

771 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

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now