社区
语言基础/算法/系统设计
帖子详情
将一个结构体变量,赋值给另一个相同类型结构体变量,会出现莫名错误,提示地址访问错误,
annhoo
2017-10-04 10:19:59
如题
本人用Delphi7使用结构体(record)类型,赋值的时候有时候成功有时候失败?很是不解,不知大家是否遇到过这样的情况。难道说是Delphi的bug还是需要注意那些问题?
...全文
1633
6
打赏
收藏
将一个结构体变量,赋值给另一个相同类型结构体变量,会出现莫名错误,提示地址访问错误,
如题 本人用Delphi7使用结构体(record)类型,赋值的时候有时候成功有时候失败?很是不解,不知大家是否遇到过这样的情况。难道说是Delphi的bug还是需要注意那些问题?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用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 类似这个问题,不过我的有时候可以,有时候出错。 简单的结构没事,如果结构复杂就问题来了。 有人如此用么?谢谢。
The_C_Programming_Language_e_book.pdf
The C Programming Language By Brian W. Kernighan and Dennis M. Ritchie.
QT将QBytearray的data()指针
赋值
给
结构体
指针
变量
后数据不正确的问题
QBytearray的data()指针被转换后
会
按照4字节自动对齐填充,不知为何
会
这样。经过调试指针转换后,发现本来设置的1字节对其变成了4字节对齐。
STM32学习笔记9——
结构体
赋值
问题
采用TCP/IP上报采集数据,用
结构体
的形式建立数据缓冲区。在对
结构体
整体赋初值(比如帧头之类的可以先
赋值
)时,发现
结构体
只能在定义时整体赋初值,而不能在初始化语句中赋。 typedef struct { uint32_t frame_head; //帧标志 uint16_t frame_len;//帧长 stcSystemTime frame_time;//帧时间 stcFrameP
结构体
增加了
一个
成员后,运行时
莫名
死机的疑惑
最近感觉真的是怪事多多,上次为了修改
一个
结构休的定义,直接在里面增加了
一个
int成员
变量
,后来运行的时候,却奇怪地死机了。搞了半天,以为是什么地方搞错了,后来把这个新增的成员屏蔽了,奇迹般的不死了。这是为何?增加
一个
成员,又没有任何地方引用它,为何死机?后来在另
一个
同事机器上也做了同样的实验,也是死机了。
加上这个成员,后来开始调试,在监视窗口中,发现这个结构的对象里面根本没有这个字段,这是什么?不死才怪呢。这个或许应该是开发工具的bug吧(PS:Visual st
变量
类型
不匹配引发的问题(
变量
值被
莫名
改变)
问题: 今天碰到
一个
问题,
变量
的值被
莫名
改变,最开始也觉得很奇怪,后面发现其实是
变量
类型
不匹配导致的。先上代码 #include <stdio.h> #include <stdlib.h> #define TYPE_PORT 0 #define TYPE_NUM 1 #define TYPE_MAX_LINE 2 typedef struct _cfg ...
语言基础/算法/系统设计
16,747
社区成员
33,239
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章