?
Solved

Slightly Odd Behavior

Posted on 2002-07-02
10
Medium Priority
?
149 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
  • 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
Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

 
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

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

If you have ever used Microsoft Word then you know that it has a good spell checker and it may have occurred to you that the ability to check spelling might be a nice piece of functionality to add to certain applications of yours. Well the code that…
Most everyone who has done any programming in VB6 knows that you can do something in code like Debug.Print MyVar and that when the program runs from the IDE, the value of MyVar will be displayed in the Immediate Window. Less well known is Debug.Asse…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
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…
Suggested Courses

850 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