|
阅读:798回复:1
痛苦!请教各位高手!
<P>小弟是新手,对mapx和vb都不太熟.我的程序有以下代码:
Dim fNewSymbol As MapXLib.Feature Dim fMapSymbol As MapXLib.Feature Dim pt As Point</P> <P>pt.Set X1, Y1 Set fNewSymbol = Map1.FeatureFactory.CreateSymbol(pt, Map1.DefaultStyle)</P> <P>Set fMapSymbol = lyrMyLayer.AddFeature(fNewSymbol) 但是执行的时候pt.Set X1, Y1总是报错:对象变量或 With 块变量没有设置(错误 91).查msdn里面说: 创建对象变量有两个步骤。第一,必须先声明对象变量。然后必须用 Set 语句将一个正确的引用赋值给对象变量。同样地,With...End With 块必须先用 With 语句进入点来执行初始化。此错误有以下的原因和解决方法: </P> <P>试图使用的对象变量,还没有用一个正确对象的引用来赋值。 给对象变量指定或再指定一个引用。例如,如果在下列的代码中省略 Set 语句的话,那么引用 MyObject 将会产生错误:</P> <P>Dim MyObject As Object ' 创建对象变量。 Set MyObject = Sheets(1) ' 创建一个正确的对象引用。 MyCount = MyObject.Count ' 计数值赋给 MyCount。</P> <P>试图用的对象变量已经被设为 Nothing。 Set MyObject = Nothing ' 释放此对象。 MyCount = MyObject.Count ' 引用了已释放的对象。</P> <P>再指定引用给对象变量。例如,使用新的 Set 语句给对象设置新的引用。</P> <P>此对象是正确的对象,但没有被设置,因为在对象库中,在 “引用” 对话框中没有被选取。 在 “添加引用” 对话框选择对象库。</P> <P>在 With 块内GoTo 语句的去向。 不要跳进 With 块。确保块使用 With 语句进入点以执行初始化。</P> <P>当选了 “设置下一条语句” 命令时,在 With 块内指定了一行。 With 块必须用 With 语句执行初始化。</P> <P> 后面几条小弟不太明白,我怀疑是不是因为没有使用Set pt = ...的原因,但是我查了mapx的帮助文档,没有发现有这个要求啊! 请教各位高手,我的错误到底在那里了? </P> |
|
|
1楼#
发布于:2004-11-26 13:01
253版主!解决了困扰了我很久的问题了!
|
|