Heenan, Lambert
Lambert.Heenan at AIG.com
Thu Jul 24 15:59:33 CDT 2008
This was the code for clsStack. Nothing Earth shattering...
Option Explicit
' A Stack implemented as a Collection
Dim modCollection As Collection
Private Sub Class_Initialize()
Set modCollection = New Collection
End Sub
Private Sub Class_Terminate()
Set modCollection = Nothing
End Sub
Sub Push(vItem As Variant)
If modCollection.Count = 0 Then
modCollection.Add vItem
Else
modCollection.Add vItem, , , modCollection.Count
End If
End Sub
Function Pop() As Variant
If modCollection.Count = 0 Then
Pop = Null
Else
Pop = modCollection(modCollection.Count)
modCollection.Remove modCollection.Count
End If
End Function
Lambert
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Dan Waters
Sent: Thursday, July 24, 2008 12:15 PM
To: 'Access Developers discussion and problem solving'
Subject: Re: [AccessD] Call Stack in VBA?
Thanks Charlotte - I just checked the archives for clsStack, but no results
came back.
Do you have more information about what Lambert posted?
Thanks,
Dan
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Charlotte Foust
Sent: Thursday, July 24, 2008 10:18 AM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] Call Stack in VBA?
I don't know if you can get at the actual call stack, but you can use "push"
methods to write a line to a collection, an xmlfile or even a straight text
file and "pop" methods to remove the line after the call successfully
executes. An error would result in the "pop" not being executed, giving you
a list of steps that got you to the error. I used to do this years ago
based on an article written for A97 (I think) that I adapted to my own uses.
I created a CallStack class with push and pop methods, but it took a lot of
work to pass the name of each routine into the stack since Access didn't
give a simple method for retrieving the name of the procedure. I finally
used a local constant, procName, in each routine and populated it when I
built the routine.
Actually, searching back through my archives, I find that Lambert posted a
clsStack, which uses a collection, ages ago as well, so you might root
through the archives for more.
Charlotte Foust
-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of Arthur Fuller
Sent: Thursday, July 24, 2008 7:47 AM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] Call Stack in VBA?
What a great idea! I hope someone has your answer. You're right, it would be
incredibly useful.
On Thu, Jul 24, 2008 at 8:56 AM, Dan Waters <dwaters at usinternet.com>
wrote:
> Is there a way to use VBA to record the call stack? In my error
> trapping routine, this would be incredibly helpful.
>
> Thanks!
> Dan
>
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com