Google


We offer 1 Year of free technical support and software upgrades with the purchase of our ArcGIS 8.x products.


We offer unlimited free technical support with the purchase of our ArcView 3.x extensions.


AVAtlas Online Support Documents

AVA2000001 - Any attempt to move or edit labels created using ArcView's autolabeler results in ArcView crashing.


AVA2000001 - Any attempt to move or edit labels created using ArcView's autolabeler results in ArcView crashing.

The problem you are encountering is a documented ArcView bug having to do with labels created using ArcView's autolabeling tool. The ESRI bug number is CQ00105017.

Essentially the auto-labeler creates what are known as Graphic Labels. Unfortunately, under some circumstances, any manipulation of the Graphic Labels will lead to what are known as Orphaned Siblings. Essentially, what happens is that the labels create duplicates of themselves that appear nowhere in the ArcView project but are still there in the project file. This causes your ArcView project to grow and grow for no reason. Since AVAtlas is manipulating your View on a regular basis, Orphaned Siblings are often created if you have done any autolabeling using ArcView's autolabeler. AVAtlas tries to find and correct this problem to reduce the project size. However, we are not always able to correct this issue which leads to the problem you are encountering.

The easiest way to get around this problem is to convert your Graphic Labels to Graphic Text. The attached script will perform the change for you, after which you should not encounter the problem again.

To run the script:

1. Load this script into the ArcView project that is crashing and compile the script. Leave the script window open

2. Open the View with the problem labels.

3. Using the "Window" menu in ArcView switch to the window with the script and run the script. You must make sure that the View was the last window that was active when you run the script. Otherwise the script will try to apply itself to the wrong window.

If there are alot of labels, this process can take a long time.

If the script runs sucessfully, you will receive a message regarding label conversion.

4. Save your project (as a new name, just in case).

You should now be able to select the labels with no errors.

'SCRIPT: Convert Graphic Labels To Graphic Text
TheView = Av.GetActiveDoc
TheDisplay = TheView.GetDisplay
TheThemes = TheView.GetThemes

TheViewGraphics = TheView.GetGraphics

TheCount = 0
for each TheTheme in TheThemes
  TheGraphics = TheTheme.GetGraphics
  for each agraphic in TheGraphics.clone
    if (aGraphic.is(graphiclabel)) then
      TheText = Agraphic.GetText
      TheSymbol = AGraphic.GetSymbol
      TheAlignment = AGraphic.GetAlignment
      TheAngle = AGraphic.GetAngle
      TheSpacing = AGraphic.GetSpacing
      TheOrigin = AGraphic.GetOrigin
      TheGraphicText = GraphicText.Make(TheText,TheOrigin)
      TheGraphicText.SetSymbol(TheSymbol)
      TheGraphicText.SetAlignment(TheAlignment)
      TheGraphicText.SetSpacing(TheSpacing)
      TheGraphicText.SetAngle(TheAngle)
      TheGraphicText.SetDisplay(TheDisplay)
      TheViewGraphics.AddBatch(TheGraphicText)
      TheTheme.GetGraphics.Merge({TheGraphicText})
      TheViewGraphics.RemoveGraphic(AGraphic)
      TheCount = TheCount + 1  
    end
  end
end
TheViewGraphics.EndBatch

TheViewGraphics = theView.GetGraphics

for each agraphic in theViewGraphics.clone
  if (aGraphic.is(graphiclabel)) then
    TheText = Agraphic.GetText
    TheSymbol = AGraphic.GetSymbol
    TheAlignment = AGraphic.GetAlignment
    TheAngle = AGraphic.GetAngle
    TheSpacing = AGraphic.GetSpacing
    TheOrigin = AGraphic.GetOrigin
    TheGraphicText = GraphicText.Make(TheText,TheOrigin)
    TheGraphicText.SetSymbol(TheSymbol)
    TheGraphicText.SetAlignment(TheAlignment)
    TheGraphicText.SetSpacing(TheSpacing)
    TheGraphicText.SetAngle(TheAngle)
    TheGraphicText.SetDisplay(TheDisplay)
    TheViewGraphics.AddBatch(TheGraphicText)
    TheViewGraphics.RemoveGraphic(AGraphic)
    TheCount = TheCount + 1  
  end
end
TheViewGraphics.EndBatch

TheCount.SetFormat("d")
MsgBox.Info(TheCount.AsString++"Graphic Labels 
 converted to Graphic Text!",
  "Sucessfully Converted Graphic Labels")
  
'END SCRIPT


Home- Products - Services - Support - Contact - Download
Copyright © MapLogic Corporation
Send your comments to: webmaster@maplogic.com