How to debug ActiveX DLL project.

How to debug ActiveX DLL project.

Anonymous
Not applicable
380 Views
5 Replies
Message 1 of 6

How to debug ActiveX DLL project.

Anonymous
Not applicable
How to run AxtiveX Dll project created in stand alone VB6 in step mode? I define all parametric parts like vessels, exchangers, flanges etc. in ActiveX dll project in stand alone VB6.0. These objects are provided with all properties, events and methods.

Subsequently, these objects are referenced in VBA project and objects are drawin with appropriate method like flange.draw etc.

TIA
Nimish
0 Likes
381 Views
5 Replies
Replies (5)
Message 2 of 6

Anonymous
Not applicable
Hi Nimish,
sounds like a cool proggie.
I'm very interested in these kind of questions.
I'll be interested also to learn if there's a way to step a dll. Sometimes
I'll write debug statements to a textfile at various points in the prog so
when it crashes i can open the file and at least see what was the last
entry...and of course tons of debug.print and worst case msgbox...

Sounds like a similar concept to what I'm working on except it's blocks of
stone. much less complicated.
I've been studying objectmodel and collections and trying to absorb it.
Are you using root classes and dependent objects and collections?

I'm just getting ready to dip my toes into classes. my poor brain's having
to work overtime! :-)~

I've also been trying to figure how to store data about the objects, like
counts weights etc.
I know zilch about databases, a little about acad dictionaries, interested
in how you've tackled data storage and persistence, for reporting purposes
etc.?
good luck with your project.
Mark

Nimish wrote in message
news:f0c8578.-1@WebX.maYIadrTaRb...
> How to run AxtiveX Dll project created in stand alone VB6 in step mode? I
define all parametric parts like vessels, exchangers, flanges etc. in
ActiveX dll project in stand alone VB6.0. These objects are provided with
all properties, events and methods.
> Subsequently, these objects are referenced in VBA project and objects are
drawin with appropriate method like flange.draw etc.
>
> TIA
> Nimish
>
>
0 Likes
Message 3 of 6

Anonymous
Not applicable
Look for a post by Norm Yuan in the thread "Debugging Dll's".

--
R. Robert Bell, MCSE
www.AcadX.com


"MP" wrote in message
news:9E6BAB06847195B481281AF1047B01FA@in.WebX.maYIadrTaRb...
> Hi Nimish,
> sounds like a cool proggie.
> I'm very interested in these kind of questions.
> I'll be interested also to learn if there's a way to step a dll.
Sometimes
> I'll write debug statements to a textfile at various points in the prog so
> when it crashes i can open the file and at least see what was the last
> entry...and of course tons of debug.print and worst case msgbox...
>
> Sounds like a similar concept to what I'm working on except it's blocks of
> stone. much less complicated.
> I've been studying objectmodel and collections and trying to absorb it.
> Are you using root classes and dependent objects and collections?
>
> I'm just getting ready to dip my toes into classes. my poor brain's
having
> to work overtime! :-)~
>
> I've also been trying to figure how to store data about the objects, like
> counts weights etc.
> I know zilch about databases, a little about acad dictionaries, interested
> in how you've tackled data storage and persistence, for reporting purposes
> etc.?
> good luck with your project.
> Mark
>
> Nimish wrote in message
> news:f0c8578.-1@WebX.maYIadrTaRb...
> > How to run AxtiveX Dll project created in stand alone VB6 in step mode?
I
> define all parametric parts like vessels, exchangers, flanges etc. in
> ActiveX dll project in stand alone VB6.0. These objects are provided with
> all properties, events and methods.
> > Subsequently, these objects are referenced in VBA project and objects
are
> drawin with appropriate method like flange.draw etc.
> >
> > TIA
> > Nimish
> >
> >
>
>
0 Likes
Message 4 of 6

Anonymous
Not applicable
Thank you Mark for your well wishes. I simply make drafting Automatic. I have defined classes to draw horizontal vessels, vertical vessels, exchangers and many more!!! Once dll is generated what I have to do is to assign various properties with statement like -

Dim vessel as new hVessel
vessel.ShellOD = so & so, vessel.ShellLength = so & so etc.

Vessel geometry I normally store in database and hence these values are set automatically on click event of combo for vessel list.

In its final call it draws complete vessel with method vessel.draw.

This is purely one way traffic. Its suction is database sump and information is pumped out into AutoCAD graphic editor in the form of geometry. For making intelligent objects which can store additional information along with geometry, I think one has to resort to ObjectARX.

Here, one can set property like vessel.liquidlevel = some thing and get volume with vessel.filledvolume!!!!

I will post my elementry project soon for your reference. This will be very good priming. But be kind. I am quite junior to Visual Basic.
0 Likes
Message 5 of 6

Anonymous
Not applicable
> How to run AxtiveX Dll project created in
> stand alone VB6 in step mode?

Run the DLL from the VB IDE. Then go to AutoCAD's VBA IDE and reference the
running project. Then you can step thrugh your code.

--
Learn to think outside the book.

http://www.acadx.com


"Nimish" wrote in message
news:f0c8578.-1@WebX.maYIadrTaRb...
How to run AxtiveX Dll project created in stand alone VB6 in step mode? I
define all parametric parts like vessels, exchangers, flanges etc. in
ActiveX dll project in stand alone VB6.0. These objects are provided with
all properties, events and methods.
Subsequently, these objects are referenced in VBA project and objects are
drawin with appropriate method like flange.draw etc.
TIA
Nimish
0 Likes
Message 6 of 6

Anonymous
Not applicable
Hi Nimish,
I just now noticed your reply.

Nimish wrote in message
news:f0c8578.2@WebX.maYIadrTaRb...
> I simply make drafting Automatic.

exactly what i want to do - learn how to do more with less!

>I have defined classes to draw horizontal vessels, vertical vessels,
exchangers and many more!!! Once dll is generated what I have to do is to
assign various properties with statement like -
> Dim vessel as new hVessel
> vessel.ShellOD = so & so, vessel.ShellLength = so & so etc.
>

I'm curious if you are using an Object Model to organize your classes, like
a class Assembly which contains a collection of 'horiz vessels' and a
collection of 'vert vessels' and a collection of 'xchangers' and a
collection of 'connection piping' etc???
I've been reading about that and it's the direction I think i need to go in
for my ideas.

> Vessel geometry I normally store in database and hence these values are
set automatically on click event of combo for vessel list.
>

yes, I'm getting the terrifying idea that I'm going to have to learn how to
use a database to store some of my info too!
I've heard of ADO and DAO and Access MDB and SQL but I don't know the
differences between them all.
Which is the easiest to learn and use with Autocad???

> This is purely one way traffic. Its suction is database sump and
information is pumped out into AutoCAD graphic editor in the form of
geometry. For making intelligent objects which can store additional
information along with geometry, I think one has to resort to ObjectARX.

wouldn't arx just define classes in similar way that vb does? except with
different syntax of course and apparently some additional abilities for
programming that vb lacks like inheritence and polymorphism etc?
But as I understand it now, these classes we're creating are just data set
in ram while our program is running so for there to be any long term
storage, we have to use a database or textfile or acaddictionary or xdata or
registry settings etc to store and retrieve persistent information. And I
would think that would be the same for arx but maybe I'm wrong?

like I said I don't know anything about databases but why couldn't you store
that kind of information in the database too? Couldn't you have fields for
volume, weight, type of material, pressure levels or whatever other
variables you'd be interested in?

I would think you could add extra properties to your class and corresponding
fields in your database to hold the values.
Then whatever formulas and dependencies you need you'd program into various
subs etc.
like if your vessels had a maximum throughput or feet of head or maximum
pressure allowable or whatever kinds of information is necessary for your
system to know about you could store that and do whatever calculations to
determine your assembly was properly sized or connected or whatever you're
dealing with??

then if you tried to hook an undersized vessel to an oversize exchanger some
function could alert you of the problem?
Is that the kind of intelligent object you're talking about?

> Here, one can set property like vessel.liquidlevel = some thing and get
volume with vessel.filledvolume!!!!

why couldn't this just be a property of your vessel class?

>
> I will post my elementry project soon for your reference. This will be
very good priming.
that would be fantastic to learn from! I'm super excited about getting into
using classes and have been reading everything i can find on it - and it
just keeps getting deeper and deeper and my brain moves slower and slower!!!

> But be kind. I am quite junior to Visual Basic.

HA! You're like an ascended Master compared to me! I consider you are
being overwhelmingly generous just to respond to my questions!

Maybe you don't need two way traffic for your objects but if you wanted it,
could you store the handles of your objects you create from your database
entries and if they're modified in the drawing you could have a modified
event write back the new parameters to the database so it followed the
object and the object followed the database so a change in either place
would update the other? It's way beyond me at this point but in my
ignorance it sounds possible.

I'll be interested to hear of your ongoing progress!
Have Fun!
Mark ;-)~
0 Likes