Solved

MTS & VB

Posted on 2000-05-12
3
327 Views
Last Modified: 2010-05-02
I have a dll which has been packaged in MTS and has been exported , and a EXE create object from the dll in a client machine , but why the system always prompt dialog saying some program is busy ,please switch the program to resolve the error?
0
Comment
Question by:Jimsong
  • 2
3 Comments
 

Expert Comment

by:SpikeDog
ID: 2805685
Hi JimSong.
Sounds like your MTS is having problems.
If you're getting a message box every time you try to do anything to your client exe telling you to Switch To or Retry then your client exe is still waiting for your MTS object to respond.
There are lots of possible reasons for this. Obvious ones include security settings and the possibility that your MTS DLL has hung.
Have a peek at the objects on your MTS and see whether the component is active and In Call.
The Transaction Explorer is under the Option Pack menu.

Most importantly, if you wait long enough your client will generate an error. If it handles it properly and you can get the error details that will set you in the right direction.
0
 
LVL 142

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 2807276
Ensure that your DLL does not include any .Show vbModal or MsgBox code.
This will result in behaviour you report.
I don't think that MTS does actually have a problem, but this is not impossible at all...

0
 

Accepted Solution

by:
SpikeDog earned 50 total points
ID: 2808042
Sorry, misphrased my earlier comment. What I meant was that the MTS was unable to respond to your client.
That message you are getting is simply because your client has not received a complete response from the MTS object.
There are many possible reasons for this but over the last year or so I've seen dozens of these and generally they involve either a security issue (turning all security is the easiest option and is not as bad as it sounds) or there is a malfunction in the DLL.
Angel is right, any attempt to call code such as this will cause a problem.
Here, the easiest way to cope is to put in complete error handling and write to the event log (app.eventlog) any and all error info. Then if the MTS hangs your client you can go look for the problem on the MTS machine in the event viewer. Still, if you wait long enough you SHOULD get an error message from the client. Post this and I can probably help further. MTS is great - when it works.
0

Featured Post

Better Security Awareness With Threat Intelligence

See how one of the leading financial services organizations uses Recorded Future as part of a holistic threat intelligence program to promote security awareness and proactively and efficiently identify threats.

Join & Write a Comment

Suggested Solutions

Enums (shorthand for ‘enumerations’) are not often used by programmers but they can be quite valuable when they are.  What are they? An Enum is just a type of variable like a string or an Integer, but in this case one that you create that contains…
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 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…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

758 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

12 Experts available now in Live!

Get 1:1 Help Now