• Industries
  • Products
  • Buy
  • Services & Support
  • Communities
  • Discussion Groups

    .NET

    Reply
    Distinguished Contributor
    SRSDS
    Posts: 209
    Registered: ‎04-15-2011
    Accepted Solution

    eInvalidLayer freezing thawing layer

    129 Views, 2 Replies
    03-15-2012 09:07 AM

    There's something wrong with my freeze layer procedure. 

    I get an eInvalidLayer error when it comes to changing the IsFrozen state.

    Can anyone suggest what is causing it?

     

        Public Sub LayerFreeze(ByVal sLayerName As String, ByVal bFreeze As Boolean)
            '' Get the current document and database
            Dim acDoc As Document = Application.DocumentManager.MdiActiveDocument
            Dim acCurDb As Database = acDoc.Database
            '' Start a transaction
            Using acTrans As Transaction = acCurDb.TransactionManager.StartTransaction()
                '' Open the Layer table for read
                Dim acLyrTbl As LayerTable
                acLyrTbl = acTrans.GetObject(acCurDb.LayerTableId, OpenMode.ForRead)
                Dim acLyrTblRec As LayerTableRecord
                If acLyrTbl.Has(sLayerName) = False Then
                    acLyrTblRec = New LayerTableRecord()
                    '' Assign the layer a name
                    acLyrTblRec.Name = sLayerName
                    '' Upgrade the Layer table for write
                    acLyrTbl.UpgradeOpen()
                    '' Append the new layer to the Layer table and the transaction
                    acLyrTbl.Add(acLyrTblRec)
                    acTrans.AddNewlyCreatedDBObject(acLyrTblRec, True)
                Else
                    acLyrTblRec = acTrans.GetObject(acLyrTbl(sLayerName), OpenMode.ForWrite)
                End If
                ' Freeze or thaw the layer
                If acLyrTblRec.IsFrozen = Not bFreeze Then acLyrTblRec.IsFrozen = bFreeze
                acTrans.Commit()
            End Using
        End Sub

     

     

    Please use plain text.
    Valued Contributor
    Posts: 80
    Registered: ‎06-26-2008

    Re: eInvalidLayer freezing thawing layer

    03-15-2012 09:51 AM in reply to: SRSDS

    Hi SRSDS,

     

    You need to check that you're not trying to freeze the current layer; you'll get the eInvalidLayer error if you are.

     

    Regards

     

    Paul

    Please use plain text.
    Distinguished Contributor
    SRSDS
    Posts: 209
    Registered: ‎04-15-2011

    Re: eInvalidLayer freezing thawing layer

    03-15-2012 12:56 PM in reply to: Paulio

    Thanks, makes a lot of sense and the problem is fixed.

    Please use plain text.