MTS 2.0, VB6, EE: Having some problems debugging a component I wrote in VB6, that runs in MTS. 
Author Message
 MTS 2.0, VB6, EE: Having some problems debugging a component I wrote in VB6, that runs in MTS.

I've written (re-written, actually) a Visual Basic 6 component.  I want to
be able to debug the component.  I originally wrote the component in VB5 and
debugged it there using the Visual Studio IDE to debug it with.  This
required getting the MTS Package's GUID, etc, putting that into the Visual
Studio IDE, opening the DLL (I'm not sure if I should open it on my machine
where I compiled it, or on the server, where it resides in MTS?)

But I'm getting an error message which says, "VC++ De{*filter*} Monitor not
installed on remote machine".  What do I do about that?

Also, I see by an article that I just looked up on MSDN that, "Microsoft
Transaction Server components writing in Microsoft Visual Basic version 6.0
can be debugged directly in the Visual Basic Integrated Development
Environment."

Really?!  How?

Rod



Thu, 10 Jan 2002 03:00:00 GMT  
 MTS 2.0, VB6, EE: Having some problems debugging a component I wrote in VB6, that runs in MTS.
1. Have MTS installed locally, if your component interacts with other
components then have those components installed in MTS. DO NOT install the
component you are debugging.

2. Must be NT 4 with SP4 or higher. It will not work with 95 or 98. Also, if
you install MTS you have to reinstall SP4 (not intuitive but necessary).
Same is true with any of the option pack. If you install anything from the
option pack you have to reinstall SP4.

3. Mark your class as an MTS component (It defaults to NotAnMTSComponent,
change it to anything else). Set breakpoint and start running from IDE. What
I typically do is have two projects in a group. One is the component I am
developing and the other is a simple test app (maybe just a button that
creates the object, set properties etc.

Also, if you are developing ASP that calls your component. Just install the
web server on your local machine and you can step right from the ASP into
your component. Just have your component started in the IDE with a
breakpoint before creating the object from your ASP. Much much much simplier
than previous types of debugging.

Bruce L-C


Quote:
> I've written (re-written, actually) a Visual Basic 6 component.  I want to
> be able to debug the component.  I originally wrote the component in VB5
and
> debugged it there using the Visual Studio IDE to debug it with.  This
> required getting the MTS Package's GUID, etc, putting that into the Visual
> Studio IDE, opening the DLL (I'm not sure if I should open it on my
machine
> where I compiled it, or on the server, where it resides in MTS?)

> But I'm getting an error message which says, "VC++ De{*filter*} Monitor not
> installed on remote machine".  What do I do about that?

> Also, I see by an article that I just looked up on MSDN that, "Microsoft
> Transaction Server components writing in Microsoft Visual Basic version
6.0
> can be debugged directly in the Visual Basic Integrated Development
> Environment."

> Really?!  How?

> Rod



Thu, 10 Jan 2002 03:00:00 GMT  
 MTS 2.0, VB6, EE: Having some problems debugging a component I wrote in VB6, that runs in MTS.
Bruce,

May I leave the Reference to the MTS library in the component project, when
I'm doing this?  (I am working with NT Workstation, and MTS is loaded on my
PC.  Also, I've got SP5 of NT on this PC.)

It sounds almost as if I could run this in-process for testing, but is that
right, or wrong?

Rod


Quote:
> 1. Have MTS installed locally, if your component interacts with other
> components then have those components installed in MTS. DO NOT install the
> component you are debugging.

> 2. Must be NT 4 with SP4 or higher. It will not work with 95 or 98. Also,
if
> you install MTS you have to reinstall SP4 (not intuitive but necessary).
> Same is true with any of the option pack. If you install anything from the
> option pack you have to reinstall SP4.

> 3. Mark your class as an MTS component (It defaults to NotAnMTSComponent,
> change it to anything else). Set breakpoint and start running from IDE.
What
> I typically do is have two projects in a group. One is the component I am
> developing and the other is a simple test app (maybe just a button that
> creates the object, set properties etc.

> Also, if you are developing ASP that calls your component. Just install
the
> web server on your local machine and you can step right from the ASP into
> your component. Just have your component started in the IDE with a
> breakpoint before creating the object from your ASP. Much much much
simplier
> than previous types of debugging.

> Bruce L-C

<snip>


Fri, 11 Jan 2002 03:00:00 GMT  
 MTS 2.0, VB6, EE: Having some problems debugging a component I wrote in VB6, that runs in MTS.
I've gone to Microsoft's MSDN site and tried to find something to help.
According to article Q170156, I tried to setup my environment to debug my
MTS component.  Assuming I did it correctly, then I set a breakpoint in my
component, just before it invoked a method I wrote for a child component.  I
then started my client application and ran it, putting in the data, etc., to
reach the breakpoint.  I reached the breakpoint and attempted to run the
method.  I got an error, which was an "Automation Error", #8004e003.

I checked the  child object (which I created via a CreateInstance call on a
object of type ObjectContext) and I found that it was indeed the type of
object I expected it to be.   Why would it then cause an automation error?
Why couldn't it invoke the subobject?

The parent object ("root" is what I believe is the proper term) has an MTS
property of "Requires New Transaction", and the two child objects have an
MTS property of "Requires Transaction", as I want them to enlist in the
transaction created by the root.

Rod


Quote:
> Bruce,

> May I leave the Reference to the MTS library in the component project,
when
> I'm doing this?  (I am working with NT Workstation, and MTS is loaded on
my
> PC.  Also, I've got SP5 of NT on this PC.)

> It sounds almost as if I could run this in-process for testing, but is
that
> right, or wrong?

> Rod



> > 1. Have MTS installed locally, if your component interacts with other
> > components then have those components installed in MTS. DO NOT install
the
> > component you are debugging.

> > 2. Must be NT 4 with SP4 or higher. It will not work with 95 or 98.
Also,
> if
> > you install MTS you have to reinstall SP4 (not intuitive but necessary).
> > Same is true with any of the option pack. If you install anything from
the
> > option pack you have to reinstall SP4.

> > 3. Mark your class as an MTS component (It defaults to
NotAnMTSComponent,
> > change it to anything else). Set breakpoint and start running from IDE.
> What
> > I typically do is have two projects in a group. One is the component I
am
> > developing and the other is a simple test app (maybe just a button that
> > creates the object, set properties etc.

> > Also, if you are developing ASP that calls your component. Just install
> the
> > web server on your local machine and you can step right from the ASP
into
> > your component. Just have your component started in the IDE with a
> > breakpoint before creating the object from your ASP. Much much much
> simplier
> > than previous types of debugging.

> > Bruce L-C

> <snip>



Fri, 11 Jan 2002 03:00:00 GMT  
 MTS 2.0, VB6, EE: Having some problems debugging a component I wrote in VB6, that runs in MTS.

If you are calling the component from some other component and they are not
both in the same project group, then you must start up your component first,
prior to the parent object calling it.

Bruce L-C


Quote:
> I've gone to Microsoft's MSDN site and tried to find something to help.
> According to article Q170156, I tried to setup my environment to debug my
> MTS component.  Assuming I did it correctly, then I set a breakpoint in my
> component, just before it invoked a method I wrote for a child component.
I
> then started my client application and ran it, putting in the data, etc.,
to
> reach the breakpoint.  I reached the breakpoint and attempted to run the
> method.  I got an error, which was an "Automation Error", #8004e003.

> I checked the  child object (which I created via a CreateInstance call on
a
> object of type ObjectContext) and I found that it was indeed the type of
> object I expected it to be.   Why would it then cause an automation error?
> Why couldn't it invoke the subobject?

> The parent object ("root" is what I believe is the proper term) has an MTS
> property of "Requires New Transaction", and the two child objects have an
> MTS property of "Requires Transaction", as I want them to enlist in the
> transaction created by the root.

> Rod



> > Bruce,

> > May I leave the Reference to the MTS library in the component project,
> when
> > I'm doing this?  (I am working with NT Workstation, and MTS is loaded on
> my
> > PC.  Also, I've got SP5 of NT on this PC.)

> > It sounds almost as if I could run this in-process for testing, but is
> that
> > right, or wrong?

> > Rod



> > > 1. Have MTS installed locally, if your component interacts with other
> > > components then have those components installed in MTS. DO NOT install
> the
> > > component you are debugging.

> > > 2. Must be NT 4 with SP4 or higher. It will not work with 95 or 98.
> Also,
> > if
> > > you install MTS you have to reinstall SP4 (not intuitive but
necessary).
> > > Same is true with any of the option pack. If you install anything from
> the
> > > option pack you have to reinstall SP4.

> > > 3. Mark your class as an MTS component (It defaults to
> NotAnMTSComponent,
> > > change it to anything else). Set breakpoint and start running from
IDE.
> > What
> > > I typically do is have two projects in a group. One is the component I
> am
> > > developing and the other is a simple test app (maybe just a button
that
> > > creates the object, set properties etc.

> > > Also, if you are developing ASP that calls your component. Just
install
> > the
> > > web server on your local machine and you can step right from the ASP
> into
> > > your component. Just have your component started in the IDE with a
> > > breakpoint before creating the object from your ASP. Much much much
> > simplier
> > > than previous types of debugging.

> > > Bruce L-C

> > <snip>



Sat, 12 Jan 2002 03:00:00 GMT  
 MTS 2.0, VB6, EE: Having some problems debugging a component I wrote in VB6, that runs in MTS.
I can't get it to run at all.  I have VB6.0 on NT4.0 workstation with
SP4.  MTS is installed, but when I try to run the DLL from VB, I get an
error that MTS is the wrong version or is installed incorrectly.  What
might be going on?

Also, I don't have access to a news server, so I am using Deja.Com's
web interface.  For some reason, I can't post a new message, so I am
including it here in the response:

I am trying to develop an interface from an ASP page to a remote
JavaBean component.  I am using Sun's ActiveX bridge for
communication.  The component takes awhile to log into, so we want to
instantiate several connections, and use them as a pool for all of the
web clients to pull from.  Is MTS the right tool to use for this?  Does
anyone have any architectural suggestions?  My only thought is to
develop an ActiveX EXE server that serves the object references and
manages the connections, but I don't think it will scale as well as if
MTS handled the object caching.

I am reading "Professional MTS and MSMQ with VB and ASP" by Wrox Press,
but it is lacking in actual "how-to" examples and scenarios.  Any other
good books for a complete beginner to MTS?  (BTW - I have been using VB
for about 4 years, and am certified, so I am not looking for books on
component creation - I am looking for books on implementing MTS).

Kirk Allen Evans



Quote:
> I've written (re-written, actually) a Visual Basic 6 component.  I
want to
> be able to debug the component.  I originally wrote the component in
VB5 and
> debugged it there using the Visual Studio IDE to debug it with.  This
> required getting the MTS Package's GUID, etc, putting that into the
Visual
> Studio IDE, opening the DLL (I'm not sure if I should open it on my
machine
> where I compiled it, or on the server, where it resides in MTS?)

> But I'm getting an error message which says, "VC++ De{*filter*} Monitor
not
> installed on remote machine".  What do I do about that?

> Also, I see by an article that I just looked up on MSDN
that, "Microsoft
> Transaction Server components writing in Microsoft Visual Basic
version 6.0
> can be debugged directly in the Visual Basic Integrated Development
> Environment."

> Really?!  How?

> Rod

Sent via Deja.com http://www.*-*-*.com/
Share what you know. Learn what you don't.


Sat, 12 Jan 2002 03:00:00 GMT  
 MTS 2.0, VB6, EE: Having some problems debugging a component I wrote in VB6, that runs in MTS.
They're all within the same VB project group.

Quote:
> If you are calling the component from some other component and they are
not
> both in the same project group, then you must start up your component
first,
> prior to the parent object calling it.

> Bruce L-C



> > I've gone to Microsoft's MSDN site and tried to find something to help.
> > According to article Q170156, I tried to setup my environment to debug
my
> > MTS component.  Assuming I did it correctly, then I set a breakpoint in
my
> > component, just before it invoked a method I wrote for a child
component.
> I
> > then started my client application and ran it, putting in the data,
etc.,
> to
> > reach the breakpoint.  I reached the breakpoint and attempted to run the
> > method.  I got an error, which was an "Automation Error", #8004e003.

> > I checked the  child object (which I created via a CreateInstance call
on
> a
> > object of type ObjectContext) and I found that it was indeed the type of
> > object I expected it to be.   Why would it then cause an automation
error?
> > Why couldn't it invoke the subobject?

> > The parent object ("root" is what I believe is the proper term) has an
MTS
> > property of "Requires New Transaction", and the two child objects have
an
> > MTS property of "Requires Transaction", as I want them to enlist in the
> > transaction created by the root.

> > Rod



> > > Bruce,

> > > May I leave the Reference to the MTS library in the component project,
> > when
> > > I'm doing this?  (I am working with NT Workstation, and MTS is loaded
on
> > my
> > > PC.  Also, I've got SP5 of NT on this PC.)

> > > It sounds almost as if I could run this in-process for testing, but is
> > that
> > > right, or wrong?

> > > Rod



> > > > 1. Have MTS installed locally, if your component interacts with
other
> > > > components then have those components installed in MTS. DO NOT
install
> > the
> > > > component you are debugging.

> > > > 2. Must be NT 4 with SP4 or higher. It will not work with 95 or 98.
> > Also,
> > > if
> > > > you install MTS you have to reinstall SP4 (not intuitive but
> necessary).
> > > > Same is true with any of the option pack. If you install anything
from
> > the
> > > > option pack you have to reinstall SP4.

> > > > 3. Mark your class as an MTS component (It defaults to
> > NotAnMTSComponent,
> > > > change it to anything else). Set breakpoint and start running from
> IDE.
> > > What
> > > > I typically do is have two projects in a group. One is the component
I
> > am
> > > > developing and the other is a simple test app (maybe just a button
> that
> > > > creates the object, set properties etc.

> > > > Also, if you are developing ASP that calls your component. Just
> install
> > > the
> > > > web server on your local machine and you can step right from the ASP
> > into
> > > > your component. Just have your component started in the IDE with a
> > > > breakpoint before creating the object from your ASP. Much much much
> > > simplier
> > > > than previous types of debugging.

> > > > Bruce L-C

> > > <snip>



Sat, 12 Jan 2002 03:00:00 GMT  
 MTS 2.0, VB6, EE: Having some problems debugging a component I wrote in VB6, that runs in MTS.

Your problem is probably straight forward. To debug you need NT4 with SP4.
If the option pack (web server, MTS, etc) is installed it messes up the SP4
and you need to reinstall it.

Bruce L-C



Quote:
> I can't get it to run at all.  I have VB6.0 on NT4.0 workstation with
> SP4.  MTS is installed, but when I try to run the DLL from VB, I get an
> error that MTS is the wrong version or is installed incorrectly.  What
> might be going on?

> Also, I don't have access to a news server, so I am using Deja.Com's
> web interface.  For some reason, I can't post a new message, so I am
> including it here in the response:

> I am trying to develop an interface from an ASP page to a remote
> JavaBean component.  I am using Sun's ActiveX bridge for
> communication.  The component takes awhile to log into, so we want to
> instantiate several connections, and use them as a pool for all of the
> web clients to pull from.  Is MTS the right tool to use for this?  Does
> anyone have any architectural suggestions?  My only thought is to
> develop an ActiveX EXE server that serves the object references and
> manages the connections, but I don't think it will scale as well as if
> MTS handled the object caching.

> I am reading "Professional MTS and MSMQ with VB and ASP" by Wrox Press,
> but it is lacking in actual "how-to" examples and scenarios.  Any other
> good books for a complete beginner to MTS?  (BTW - I have been using VB
> for about 4 years, and am certified, so I am not looking for books on
> component creation - I am looking for books on implementing MTS).

> Kirk Allen Evans



> > I've written (re-written, actually) a Visual Basic 6 component.  I
> want to
> > be able to debug the component.  I originally wrote the component in
> VB5 and
> > debugged it there using the Visual Studio IDE to debug it with.  This
> > required getting the MTS Package's GUID, etc, putting that into the
> Visual
> > Studio IDE, opening the DLL (I'm not sure if I should open it on my
> machine
> > where I compiled it, or on the server, where it resides in MTS?)

> > But I'm getting an error message which says, "VC++ De{*filter*} Monitor
> not
> > installed on remote machine".  What do I do about that?

> > Also, I see by an article that I just looked up on MSDN
> that, "Microsoft
> > Transaction Server components writing in Microsoft Visual Basic
> version 6.0
> > can be debugged directly in the Visual Basic Integrated Development
> > Environment."

> > Really?!  How?

> > Rod

> Sent via Deja.com http://www.*-*-*.com/
> Share what you know. Learn what you don't.



Sat, 12 Jan 2002 03:00:00 GMT  
 MTS 2.0, VB6, EE: Having some problems debugging a component I wrote in VB6, that runs in MTS.
Hi Bruce,
I followed all your instructions (Step 1-3).  It won't work if running
de{*filter*} from Project Group.

It works if I do the following:
1) Open the MTS Component Project
2) Go to Project Property and Debugging Tab
3) Select an executable to start the MTS component.
4) Set a breakpoint in the MTS and the F5 to run it. It works this way.

Those of you who is having problems debugging MTS may want to try the above
steps.

I'm still having problems running it from Project Group and set the Client
Project as a startup.  Any other recommendation.

Thanks,

Franky


Quote:
> 1. Have MTS installed locally, if your component interacts with other
> components then have those components installed in MTS. DO NOT install the
> component you are debugging.

> 2. Must be NT 4 with SP4 or higher. It will not work with 95 or 98. Also,
if
> you install MTS you have to reinstall SP4 (not intuitive but necessary).
> Same is true with any of the option pack. If you install anything from the
> option pack you have to reinstall SP4.

> 3. Mark your class as an MTS component (It defaults to NotAnMTSComponent,
> change it to anything else). Set breakpoint and start running from IDE.
What
> I typically do is have two projects in a group. One is the component I am
> developing and the other is a simple test app (maybe just a button that
> creates the object, set properties etc.

> Also, if you are developing ASP that calls your component. Just install
the
> web server on your local machine and you can step right from the ASP into
> your component. Just have your component started in the IDE with a
> breakpoint before creating the object from your ASP. Much much much
simplier
> than previous types of debugging.

> Bruce L-C



> > I've written (re-written, actually) a Visual Basic 6 component.  I want
to
> > be able to debug the component.  I originally wrote the component in VB5
> and
> > debugged it there using the Visual Studio IDE to debug it with.  This
> > required getting the MTS Package's GUID, etc, putting that into the
Visual
> > Studio IDE, opening the DLL (I'm not sure if I should open it on my
> machine
> > where I compiled it, or on the server, where it resides in MTS?)

> > But I'm getting an error message which says, "VC++ De{*filter*} Monitor not
> > installed on remote machine".  What do I do about that?

> > Also, I see by an article that I just looked up on MSDN that, "Microsoft
> > Transaction Server components writing in Microsoft Visual Basic version
> 6.0
> > can be debugged directly in the Visual Basic Integrated Development
> > Environment."

> > Really?!  How?

> > Rod



Sun, 13 Jan 2002 03:00:00 GMT  
 
 [ 9 post ] 

 Relevant Pages 

1. MTS component debugging using VB6

2. Trouble Passing VB6 Collection Object to VB6 Component in MTS

3. ] Problem passing ADO recordsets to VB6 MTS Component

4. ] Problem passing ADO recordsets to VB6 MTS Component

5. Debugging MTS in VB6 IDE under Win2000?

6. VB6 & MTS debugging

7. MTS / VB6 / Debug / this should be easy...

8. Debugging VB6 objects under MTS

9. VB6 Debugging under MTS - How?

10. Updating VB6 MTS Components

11. Testing COM / MTS components using VB6

12. Error creating an MTS Component with VB6 + ADO 2.1

 

 
Powered by phpBB® Forum Software