Thanks for all the help.  The major issue here is if you open 1 table in 1
mapper and try to close it during WinClosedHandler procedure of the Mapper
it crashes Mapinfo every time.  Is anyone else experiencing this same
behavior or do you think it is a Windows 2k issue?

Thanks,
Jay



                                                                       
                      Peter Horsb�ll                                 
                      M�ller                   To:      "Driver, Greg 9434" 
<[EMAIL PROTECTED]>, "Jay C Russell"
                      <[EMAIL PROTECTED]>            <[EMAIL PROTECTED]>, 
<[EMAIL PROTECTED]>
                                               cc:                     
                      12/16/04 02:01           Subject: RE: MI-L 
WinClosedHandler Closing Tables Bug
                      AM                                               
                                                                       
                                                                       




And I also think you need to make sure if a table is used in a graph or
browser window as well:

for window_num = 1 to NumWindows()
             Window_ID = WindowID(window_num)

             do case WindowInfo(Window_ID,WIN_INFO_TYPE)
                         case WIN_MAPPER
                                     for i = 1 to
MapperInfo(Window_ID,MAPPER_INFO_LAYERS)
                                                 for j = 1 to numtabs
                                                             if
TableNames(j) = LayerInfo(Window_ID,i,LAYER_INFO_NAME) then

InUse(j) = True
                                                             end if
                                                 next
                                     next
                         case WIN_BROWSER, WIN_GRAPH
                                                 for j = 1 to numtabs
                                                             if
TableNames(j) = WindowInfo(Window_ID,WIN_INFO_TABLE) then

InUse(j) = True
                                                             end if
                                                 next
                         case WIN_LAYOUT
             end case
next


Peter Horsb�ll M�ller
GIS Developer
Geographical Information & IT

COWI A/S
Odensevej 95
DK-5260 Odense S.
Denmark

Tel          +45 6311 4900
Direct             +45 6311 4908
Mob          +45 5156 1045
Fax          +45 6311 4949
E-mail             [EMAIL PROTECTED]
http://www.cowi.dk/gis


-----Original Message-----
From: Driver, Greg 9434 [mailto:[EMAIL PROTECTED]
Sent: Wednesday, December 15, 2004 5:21 PM
To: 'Jay C Russell'; [EMAIL PROTECTED]
Subject: RE: MI-L WinClosedHandler Closing Tables Bug


Jay,

Looking at your code the last for..next loop will close ALL open tables
because you not testing if the inUse() flag has been set for each table.
If you change it to the following it should work (MapInfo doesn't crash and
the tables are closed):

For i = 1 to numtabs
             If NOT InUse(i) Then
                         close table TableNames(i)
                         print "Table "+TableNames(i)+" closed"
                         j = j+1
             End If
Next

HTH

Greg Driver

-----Original Message-----
From: Jay C Russell [mailto:[EMAIL PROTECTED]
Sent: 15 December 2004 15:45
To: [EMAIL PROTECTED]
Subject: MI-L WinClosedHandler Closing Tables Bug






I was attempting to use the code posted by Uffe at
www.routeware.dk/download/close_unused.zip to close any unused tables when
I close a Mapper window.  Unfortunately, it seems like closing any tables
which were on the window being closed produces a crash for Mapinfo 99% of
the time.  I am using Windows 2K and Mapinfo 7.8

The errors can be reproduced by using the code below and closing a mapper
window.

Any help appreciated.

Thanks,
Jay Russell

Sub WinClosedHandler
   Call CloseUnused
End Sub

Sub CloseUnused
OnError Goto CloseImageTableError

Dim window_num As SmallInt
Dim numTabs,i,j,Window_ID as integer
Dim TableNames(1) as string
Dim InUse(1) as logical

numTabs = NumTables()
Redim TableNames(numTabs)
Redim InUse(numTabs)

For i = 1 to numtabs
  TableNames(i) = TableInfo(i,TAB_INFO_NAME)
  InUse(i) = False
Next

for window_num = 1 to NumWindows()
  Window_ID = WindowID(window_num)

  do case WindowInfo(Window_ID,WIN_INFO_TYPE)
    case WIN_MAPPER
      for i = 1 to MapperInfo(Window_ID,MAPPER_INFO_LAYERS)
        for j = 1 to numtabs
          if TableNames(j) = LayerInfo(Window_ID,i,LAYER_INFO_NAME) then
            InUse(j) = True
          end if
        next
      next
    case WIN_BROWSER
    case WIN_LAYOUT
    case WIN_GRAPH
  end case
next

j = 0
For i = 1 to numtabs
    close table TableNames(i)
    print "Table "+TableNames(i)+" closed"
    j = j+1
Next
print j+" tabels closed in total"

Exit Sub
CloseImageTableError:
   Note "WinClosedHandlerError:" + Error$()

End Sub



---------------------------------------------------------------------
List hosting provided by Directions Magazine | www.directionsmag.com | To
unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Message number: 14568


Internet communications are not secure and therefore Surrey Police does not
accept legal responsibility for the contents of this message.  This email
and any attachments may be confidential. They may contain privileged
information and are intended for the named addressee (s) only. They must
not be distributed without our consent. If you are not the intended
recipient, please notify us immediately and delete the message and any
attachments from your computer, do not disclose, distribute, or retain this
email or any part of it. Unless expressly stated, opinions in this email
are those of the individual sender, and not of Surrey Police. We believe
but do not warrant that this e-mail and any attachments are virus free. You
must therefore take full responsibility for virus checking. Surrey Police
reserves the right to monitor all email communications through their
networks.



---------------------------------------------------------------------
List hosting provided by Directions Magazine | www.directionsmag.com |
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Message number: 14575





---------------------------------------------------------------------
List hosting provided by Directions Magazine | www.directionsmag.com |
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
Message number: 14579

Reply via email to