MTS 2.0, VB6, EE: Having some problems debugging a component I wrote in VB6, that runs in MTS.
Author |
Message |
Rod Falang #1 / 9
|
 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 |
|
 |
Bruce L- #2 / 9
|
 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 |
|
 |
Rod Falang #3 / 9
|
 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 |
|
 |
Rod Falang #4 / 9
|
 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 |
|
 |
Bruce L- #5 / 9
|
 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 |
|
 |
Kirk Allen Evan #6 / 9
|
 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 |
|
 |
Rod Falang #7 / 9
|
 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 |
|
 |
Bruce L- #8 / 9
|
 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 |
|
 |
TexanGu #9 / 9
|
 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 |
|
|
|