Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

Slightly Odd Behavior

Posted on 2002-07-02
10
Medium Priority
?
148 Views
Last Modified: 2010-05-02
Hello.

This is rather a difficult question to ask.  Basically we have an application we created.  With this application it asks for a user id and password, the script confirms it and then opens a form.  All this works wonderful on all machines.

Then one day we decide to add some code deeper in the program.  Now on two machines it asks for the user id and password and just hangs.  On all other machines it works fine.  We did not touch the code that has to do with the log on.

The program was written in VB 6.0 and is run on NT workstations without VB installed.  As I said, it worked fine until this change was made.

We have reinstalled the application still to no avail.  Does anybody at all have any ideas?

I know this one is difficult.

Thanks,

nnaxor
0
Comment
Question by:nnaxor
[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
  • 5
  • 3
  • 2
10 Comments
 
LVL 143

Accepted Solution

by:
Guy Hengel [angelIII / a3] earned 800 total points
ID: 7124895
You should add some debugging code to the application, to follow what happens.
If you can access the PC's where the problem occurs with not problem, I would suggest to use message boxes, but what i would do is this:

Public Sub EnterFunction (fName as string)
open app.path & "\debugging.log" for output as #1
print #1, fname & vbtab & "Entering"
close #1
End Sub

Public Sub ExitFunction (fName as string)
open app.path & "\debugging.log" for output as #1
print #1, fname & vbtab & "Exiting"
close #1
End Sub

Then, for all your (relevant) functions, add the EnterFunction at the beginning and the Exitfunction at the end of the Sub/Function ...

I Would put the above code even in a standard module, and include a flag which could be set at startup:


Public Sub Main ()
  If Command$ like "*/DEBUGGING* then
    blnDebugging = true
  end if
  ...
 
End Sub

and check that flag in the EnterFunction and ExitFunction before writing to the file.

With the output of this file, you can see in which function the problem occurs.


Now, I guess that the problem is an errorhandler that has runs into an error and calls itself...

CHeers
0
 
LVL 5

Expert Comment

by:Julian_K
ID: 7124916
Well... remove all "On Error" statements and check where it hangs ;-)

I suggest you writing a small DLL for run-time logging.
The easiest way is to open a text file and in the beginning of each procedure/function to write to this file the name (eventually the parameters).
When the program hangs, you can view the text file and get more info on where exactly it hangs, and what parameters were recieved, etc. It's not a lot of work.
0
 
LVL 1

Author Comment

by:nnaxor
ID: 7124935
That makes sense and seems like a good idea, however, the problem we have is that it only happens on two machines.  The other dozen or so it works fine on.  This would seem more like a machine related problem rather then the program.  Unless I am missing something.  Because it was working on those machines before.  It is on a network drive and we actually install the app on those pcs.  I'm not sure how debugging on a single machine will make any difference.
0
VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

 
LVL 5

Expert Comment

by:Julian_K
ID: 7124942
angelIII, you're faster :-)
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 7124947
Debugging will SHOW you the difference you can't see right now. It will tell you in which procedure the code hangs -> you will only have few lines to read and try to imagine what the problem could be. Something HAS changed, you don't know -> You DEBUG !!!
CHeers
0
 
LVL 1

Author Comment

by:nnaxor
ID: 7124960
That makes sense and seems like a good idea, however, the problem we have is that it only happens on two machines.  The other dozen or so it works fine on.  This would seem more like a machine related problem rather then the program.  Unless I am missing something.  Because it was working on those machines before.  It is on a network drive and we actually install the app on those pcs.  I'm not sure how debugging on a single machine will make any difference.
0
 
LVL 1

Author Comment

by:nnaxor
ID: 7124968
Sorry about the double post.  You are both entirely correct.  The machines that are not working are not close by and so before beginning the trek there I wanted to confirm there was nothing else it could be.  As it seemed machine related.  We will do as suggested as soon as we can get to those machines.  Thanks much and let's hope this helps.
0
 
LVL 1

Author Comment

by:nnaxor
ID: 7125017
BINGO - you guys so rule - no wonder it is called experts-exchange <grin>.

Okay now we get an error:

430 Class does not support Automation or does not support expected interface.

Angellll?
0
 
LVL 1

Author Comment

by:nnaxor
ID: 7125389
Thanks much.  As this helped to diagnois so we could find the problem, I will go ahead and close out this question and start another one now that I know what the problem is.
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 7126029
Hi,
Glad we could help you by pushing you :-)

430: you probably have
* a binary installed that is not installed with the correct version

When you know on which line the error occurs, you know the class that it expects, and compare the version of the development PC with the one on the PC where the problem occurs.

CHeers
0

Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Question has a verified solution.

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

Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
I was working on a PowerPoint add-in the other day and a client asked me "can you implement a feature which processes a chart when it's pasted into a slide from another deck?". It got me wondering how to hook into built-in ribbon events in Office.
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
Get people started with the utilization of class modules. Class modules can be a powerful tool in Microsoft Access. They allow you to create self-contained objects that encapsulate functionality. They can easily hide the complexity of a process from…
Suggested Courses

636 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