载入一个别人的项目 DEBUG 结果报错说找不到GOTO语句标签 此源码中GOTO语句很多 其他的GOTO语句指向同样的标签不报错 而在两个CASE中报错 联系作者 说在相应行加上标签 不知该如何操作
PRIVATE VOID X()
{
......
}
PORTECTED OVERRIDE VOID ONKEYDOWN(KEYEVENTARGS KEA)
{
SWITCH (KEA.KEYCODE)
CASE KEYS.ESCAPE:
SWITCH (A)
{
......
}
BREAK;
CASE KEYS.ENTER:
SWITCH (A)
{
......
}
BREAK;
CASE KEYS.SCROLL:
IF (......)
{
.......
}
ELSE ......
GOTO X;报错
CASE KEYS.J:
......
CASE KEYS.K:
......
CASE KEYS.L:
......
}
}
那你得分析清楚或者问原作者问清楚,x标签应该加在哪一行呢。
他的意思应该是在出错的行处加上标签 应该如此操作呢 谢谢
@silentnelis: 怎么可能在出错的行上加标签呢,那始终在那个位置跳不出来了。goto x是表示跳到有x标签的那一行处,你肯定要弄明白让它跳到哪去,就在那加上标签。
@LCM: 只有前面一个X标签 是不是操作时在PRIVATE VOID X()那里按CTRL+B+G组合键加标签呢 这操作对吧 试验了下不行
@LCM: 另外 下面几个CASE也需要完成跳转 看来得加好几个标签才能不报错 能加好几个标签吗
@silentnelis: 假如你知道它跳到哪的就好办,比如有goto x,则你在它要跳到的地方加一个标签如下 x:
可以加很多标签的。
@LCM: 按什么键操作呢 比如在PRIVATE VOID X()处应该怎么把下面几个CASE的行号标记出来呢 不会弄 或者在什么菜单下操作呢 谢谢
@LCM: 编辑 切换书签 启用书签 试了也没效果
@LCM: 加书签这操作对否
@LCM: 加X:怎么弄啊
@LCM: 在吗 明天看回复吧 下了
@silentnelis: 这和书签没一点关系的啦。goto是跳转语句,跳到goto后面紧跟着的标签名所在的地方。标签怎么加呢,就是在程序goto要跳到的地方加一行代码,比如你报错的那行goto x,则表示要跳到一行有x标签的地方,你可以在它要跳到的那里插入如下一行代码:
x:
@silentnelis: goto语句也称为无条件转移语句,其一般格式如下: goto 语句标号; 其中语句标号是按标识符规定书写的符号, 放在某一语句行的 前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。我上面说标签,其实不是指书签,更准确地说它应该叫语句标号,标记你要跳到哪一行代码。
@LCM:
PRIVATE VOID X()
X:是这样吗 那怎么再标示行号呢 比如100行、120行、130行
{
......
}
@silentnelis: 不需要签行号啊。
@LCM:
PRIVATE VOID X()
{
X:这个标签尚未被引用 报错多了一条 还得引用吗
......
}
了
@LCM: 能不能把改写的代码段写下
就像是
PRIVATE VOID X()
{
X:这个标签尚未被引用 报错多了一条 还得引用吗
......
}
这样
@LCM: 不知道写在哪儿 偶太菜鸟了
@LCM: 不是报错多了条 是警告
@LCM: 忘记说 出现错误的CS文件好似个表单 在设计视图下灰色表 是不是应该在设计视图下加工具箱中的公共控件LABEL啊 不会用
@LCM: 这个EXE文件是个带文字表格的输出形式
@LCM: 是得加LABEL控件吧 谢谢啦
@LCM: 在吗
@silentnelis: 不是加lable控件呢。“这个标签尚未被引用 ”,你写的x大小写一样吧。
@LCM: 要不你发给我吧,我帮你调通再发给你。我的邮箱是 liuxin95915@163.com
@LCM: 好的 这就发
@LCM: 发了
@silentnelis: 你的是不是这一句报错。
goto 起盤;
你把所有报错的在case里面的这一句替换成:
Invalidate();
起盤();
break;
@LCM: 我试一下
@LCM: 太好了 调试成功 能生成原来那种EXE吗 我想产生新程式该怎么做呢 好人帮忙帮到底吧 太感谢啦
@LCM: 是不是需要像ECLIPSE那样安装插件才可以输出EXE呢
@LCM: 还是试一下别的办法吧 感谢LCM
@silentnelis: 不是的啊,你在解决方案资源管理器里面找到zwchenlong这个项目,点右键生成,然后你在源代码的文件目录下面有个文件夹\bin\Debug,里面就有zwchenlong.exe