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.