Log In

Come Join Us!

Are you a
Computer / IT professional?
Join Tek-Tips Forums!
  • Talk With Other Members
  • Be Notified Of Responses
    To Your Posts
  • Keyword Search
  • One-Click Access To Your
    Favorite Forums
  • Automated Signatures
    On Your Posts
  • Best Of All, It's Free!
  • Students Click Here

*Tek-Tips's functionality depends on members receiving e-mail. By joining you are opting in to receive e-mail.

Posting Guidelines

Promoting, selling, recruiting, coursework and thesis posting is forbidden.

Students Click Here


Strange limitation on MTS objects?

Strange limitation on MTS objects?

Strange limitation on MTS objects?

I have this scenario (everything is vb6):
- The main program in an standard EXE that contain a MDI form with a button.
- each click on the button create a new form
- each form instantiate an ActiveX.Exe object (to simulate multiple threads)
- in each instance of the ActiveX.EXE I call an object (dll) that should do something. This dll can or cannot be installed on MTS. If is not installed on MTS, everything work fine; I can run as many instances of the ActiveX.EXE as I want (20+) and the dll will work for each instance. If the dll is installed into MTS I still can install any no of ActiveX.EXE as I want (20+) but the dll will work only for 8 of them in the same time. It seems that the other instances are frozen until some of the first 8 finish his job; then they begin to run but no more than 8 at a time.

In the end, this dll MUST run under MTS (will use transactions) and must run for around 50 instances simultan.

This limitation it's not dependent on the machine, I tried on diferent configurations and the limit is the same:8.

Any ideea?

Thank you,


RE: Strange limitation on MTS objects?

I'm assuming your DLL was written in VB?

If so, try switching the DLL over to C with the project marked as being multi-threaded (you may have to add code to prevent re-entrancy problems).

Otherwise, I think you've hit a limit of MTS.

Chip H.

RE: Strange limitation on MTS objects?

I presume you'll have a client.exe/asp calling the activeX.exe.
Why not not put all the code in the dll and just call this?
This way I've had 718 simultaneous transactions.
Do you definatly need out-of-process for multiple thread spawns?

But keep trying cos I wrote some stuff for some EPOS tills  which used ASP pages. I was gonna drop an OCX on but found I couldn't address the h/w of the tills. In the end I used an ActiveX.exe and this calls an MTS dll object with no problems or limitations... there were about 220 till units.

This was NT4 client (SP6), NT4 server (SP6) and SQL7.

Hope that helps any.

RE: Strange limitation on MTS objects?

Thank you for your answers.
To move to C is not a solution for me(my c level is not very good)
The transactions I use call an third party component and takes between 3 and 5 min to complete.
Those transactions are not generated by an asp page. there is a client on the same machine (the server) that instantiate this activex.exe.
From my latest test it seems that the combination MTS & third party component generate this limitation. It seems that the third party com stop the comunication for more than 8 instances when is instantiated by MTS.
Those are my opinion, but I'm open to any sugestions.

Thank you,


RE: Strange limitation on MTS objects?

Hi (Guest Paul from above)
I'd consider the objectives that the 3rd party com gives you and write an in-house solution.
This not only gives you full control but also avoids any licensing issues and possible limitations that you may be experiencing.


RE: Strange limitation on MTS objects?

There few things you have to do
1.) make sure vb project (dll) properties is set to retained in memory and threading model : apartment threaded
2.) tick the remote server files - for dll reside in MTS
3.) change the Dll base address to a unique value - pls refer get unique dll base address at http://www.montgomerysoftware.com/default.asp?PageID=21
4.) at MTS console, increase the DTC log file from 1 MB to maximum
I've try this and it's work fine

Red Flag This Post

Please let us know here why this post is inappropriate. Reasons such as off-topic, duplicates, flames, illegal, vulgar, or students posting their homework.

Red Flag Submitted

Thank you for helping keep Tek-Tips Forums free from inappropriate posts.
The Tek-Tips staff will check this out and take appropriate action.

Reply To This Thread

Posting in the Tek-Tips forums is a member-only feature.

Click Here to join Tek-Tips and talk with other members! Already a Member? Login

Close Box

Join Tek-Tips® Today!

Join your peers on the Internet's largest technical computer professional community.
It's easy to join and it's free.

Here's Why Members Love Tek-Tips Forums:

Register now while it's still free!

Already a member? Close this window and log in.

Join Us             Close