Solved

MTS & VB

Posted on 2000-05-12
3
344 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

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

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

Suggested Solutions

The debugging module of the VB 6 IDE can be accessed by way of the Debug menu item. That menu item can normally be found in the IDE's main menu line as shown in this picture.   There is also a companion Debug Toolbar that looks like the followin…
You can of course define an array to hold data that is of a particular type like an array of Strings to hold customer names or an array of Doubles to hold customer sales, but what do you do if you want to coordinate that data? This article describes…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
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…

773 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