社区
语言基础/算法/系统设计
帖子详情
将一个结构体变量,赋值给另一个相同类型结构体变量,会出现莫名错误,提示地址访问错误,
annhoo
2017-10-04 10:19:59
如题
本人用Delphi7使用结构体(record)类型,赋值的时候有时候成功有时候失败?很是不解,不知大家是否遇到过这样的情况。难道说是Delphi的bug还是需要注意那些问题?
...全文
1571
6
打赏
收藏
将一个结构体变量,赋值给另一个相同类型结构体变量,会出现莫名错误,提示地址访问错误,
如题 本人用Delphi7使用结构体(record)类型,赋值的时候有时候成功有时候失败?很是不解,不知大家是否遇到过这样的情况。难道说是Delphi的bug还是需要注意那些问题?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
doloopcn
2017-10-05
打赏
举报
回复
简单的常量变量是不会有什么问题 但你的结构体中有需要初始化的指针、OBJECT等,就要先初始化 结构体中的资源回收时,要考虑共享冲突
annhoo
2017-10-05
打赏
举报
回复
问题找到了,呵呵 原因: 在于结构体定义的时候的
string 改成 string[xx]
就可以了。 还是不全是常数。疏忽了。麻烦大神们忙里偷闲帮兄弟一把。谢谢!
annhoo
2017-10-05
打赏
举报
回复
var vRec1 : TCRec; VRec1 := AClass.MyCRec; //一旦执行此语句就报错。
MyCRec的定义也是用相同的TCRec定义的,其他类中的成员
。 我用sizeof赋值的左右两边数值也是一样的。 之前遇到过一次从文件里面读取数据结构赋值变量也出现过,后来统一了size后就ok了。那个结构更简单就是一些string。 现在是两个变量之间的的直接赋值,反而不行了。呵呵,诡异呀!
lyhoo163
2017-10-05
打赏
举报
回复
你的结构,基本还是简单的结构。如果AClass.MyCRec的结构是TCRec,不应该有问题的。 注意二个变量之间正常赋值,需要同一类型来定义他们。
annhoo
2017-10-05
打赏
举报
回复
TARec = record Id: Byte; Name: string[2]; end; TBRec = record Name: string[10]; Codes: array[0..100] of TARec; Id1: Integer; Id2: Integer; Code1: string; Code2: string; Count1: Integer; Count2: Integer; Count3: Integer; end; TCRec = record Name: string[20]; Count: Integer; Id: Integer; Parts: array[1..100] of TBRec; end; 以上是我的结构 出错例子: var vRec1 : TCRec; VRec1 := AClass.MyCRec; //一旦执行此语句就报错。 就是您说的常量的定义,没有包括动态生成的内容。
annhoo
2017-10-04
打赏
举报
回复
http://bbs.csdn.net/topics/10033219?list=lz 类似这个问题,不过我的有时候可以,有时候出错。 简单的结构没事,如果结构复杂就问题来了。 有人如此用么?谢谢。
尹成Python27天入门到项目实战
常量
变量
数据
类型
常量与
变量
区别标识符关键字输入输出id求
地址
type求
类型
python
变量
是
地址
赋值
可以改变
类型
python主要数据
类型
复数数据
类型
自适应变长整数intdel作用连续
赋值
交互对称
赋值
字符串转化与输入输出编程...
06-
结构体
和类
结构体
在 Swift 标准库中,绝大多数的公开
类型
都是
结构体
,而枚举和类只占很小一部分 比如 Bool、Int、Double、 String、Array、Dictionary 等常见
类型
都是
结构体
struct Date { var year: Int var month: Int var day: Int } var date = Date(year: 2020, month: 6, day: 5) 所有的
结构体
都有
一个
编译器自动生成的初始化器(initializer..
变量
类型
不匹配引发的问题(
变量
值被
莫名
改变)
问题: 今天碰到
一个
问题,
变量
的值被
莫名
改变,最开始也觉得很奇怪,后面发现其实是
变量
类型
不匹配导致的。先上代码 #include <stdio.h> #include <stdlib.h> #define TYPE_PORT 0 #define TYPE_NUM 1 #define TYPE_MAX_LINE 2 typedef struct _cfg ...
C语言全局
变量
被
莫名
修改,在中断程序里修改全局
变量
的童鞋注意啦-C中的volatile作用...
一个
定义为volatile的
变量
是说这
变量
可能
会
被意想不到地改变,这样,编译器就不
会
去假设这个
变量
的值了。精确地说就是,优化器在用到这个
变量
时必须每次都小心地重新读取这个
变量
的值,而不是使用保存在寄存器里的备份。下面是volatile
变量
的几个例子:1). 并行设备的硬件寄存器(如:状态寄存器)2).
一个
中断服务子程序中
会
访问
到的非自动
变量
(Non-automatic variables)3)....
STM32代码灵异事件——自动清零的
变量
声明:这个专栏专门用来记录我遇到的一些比较奇怪的事情,欢迎大家一起讨论! 今天在调试代码的时候遇到了一件特别诡异的事情,有
一个
会
自动清零的
变量
!废话不多说直接看图! 我在user_tcoecho.c文件中定义了
一个
全局的
结构体
变量
tIAP_Updata,并在user_tcoecho.h文件中对外声明了这个
变量
。好的,现在看看是发生了什么问题。 我在在调试过程中将tIAP_Updata.BootOnlineFlag
赋值
为1,然后我点击了继续运行!接着我就惊奇的发现tIAP_Updata.BootOnli
语言基础/算法/系统设计
16,748
社区成员
33,247
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章