Why I get NULL from NDrawingDocument.ActiveLayer ???


Author
Message
Lu zehan
Lu zehan
Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)
Group: Forum Members
Posts: 4, Visits: 1

I put some shapes onto the document, then serialize the ActiveLayer of current document and save it to a file.

After I deserialize from the FileStream and get NLayer instance (nLayerInstance), Then

 

CurrentNDrawingDocument.Layers.AddChild(nLayerInstance);

nLayerInstance.BringToFront();

 

Then the shape appears. But cannot be selected.

In this case, if I call "NDrawingDocument.ActiveLayer", I will get "null".

does anybody have meet this problem? How did you resolved? Thanks


Nevron Support
Nevron Support
Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)
Group: Administrators
Posts: 3.1K, Visits: 4.2K
Hi Lu,

Only the shapes in the currently active document layer are editable and hence selectable. After you add the layer to the drawing Layers collection you need to call:

drawing.ActiveLayer = nLayerInstance;

Best Regards,
Nevron Support Team


Lu zehan
Lu zehan
Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)
Group: Forum Members
Posts: 4, Visits: 1

Thanks, but NDrawingDocument.ActiveLayer is READONLY!?


Nevron Support
Nevron Support
Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)
Group: Administrators
Posts: 3.1K, Visits: 4.2K
Our mistake - use this code instead:

drawing.ActiveLayerUniqueId = layer.UniqueId;

Best Regards,
Nevron Support Team


Lu zehan
Lu zehan
Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)Forum Newbie (4 reputation)
Group: Forum Members
Posts: 4, Visits: 1

Thank you, resolved.


Pramod Sreekanthan
Pramod Sreekanthan
Junior Member (17 reputation)Junior Member (17 reputation)Junior Member (17 reputation)Junior Member (17 reputation)Junior Member (17 reputation)Junior Member (17 reputation)Junior Member (17 reputation)Junior Member (17 reputation)Junior Member (17 reputation)
Group: Forum Members
Posts: 17, Visits: 1

Hi,

After deserializing,

Even after assigning activelayeruniqueid = layer.uniqueid,

It gives active layer as null.

If we try to add a new layer to the layers. it says document.Layers is null.

Pramod

 


Nevron Support
Nevron Support
Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)Supreme Being (4.5K reputation)
Group: Administrators
Posts: 3.1K, Visits: 4.2K
Hi, Pramod,
send your sample project to support@nevron.com, we'll investigate your code and tell you what's wrong with it.

Best Regards,
Nevron Support Team


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Similar Topics

Reading This Topic

Login

Explore
Messages
Mentions
Search