现有 Delphi 项目迁移到 Tiburon 中的注意事项
来源:互联网 发布:淘宝卖家怎么找人刷单 编辑:程序博客网 时间:2024/05/19 23:27
======================================================
注:本文源代码点此下载
======================================================
在 tiburon
更早的版本中,并不是所有的指针类型都支持指针运算。因为这样,为了让无类型指针也支持指针运算,许多代码都将其转化成 pchar
操作。现在,可以使用 tiburon 中的新编译条件 {$pointermath}
来指示编译器允许指针运算,特别是允许 pbyte 的指针运算。{$pointermath on/off}
可以打开/禁止对任意指针变量的运算,增减指针实际操作的是指针元素的大小。
下面的例子是一个将某类型指针转换成 pchar 后的指针运算:
function tcustomvirtualstringtree.internaldata(node: pvirtualnode):
pointer;
begin
if (node = froot) or (node = nil) then
result :=
nil
else
result :=
pchar(node) + finternaldataoffset;
end;
您应该将其修改成 pbyte 而不是 pchar:
function tcustomvirtualstringtree.internaldata(node: pvirtualnode):
pointer;
begin
if (node = froot) or (node = nil) then
result :=
nil
else
result :=
pbyte(node)
+
finternaldataoffset;
end;
在上面的例子中,node 真实的数据不是 pchar 的数据。将其强制转换成 pchar
的操作在早先的版本中是正常的,因为早先版本中
sizeof(char)
== sizeof(byte)。但是现在不同了,所以这样的代码必须从 pchar 改换成 pbyte。如果不做这样的更改,返回的
pointer 将指向错误的数据。
======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/
- 现有 Delphi 项目迁移到 Delphi 2009(Tiburon) 中的注意事项
- 现有Delphi项目迁移到Tiburon delphi2009中的注意事项
- 现有 Delphi 项目迁移到 Tiburon 中的注意事项[转]
- 现有 Delphi 项目迁移到 Tiburon 中的注意事项
- 现有 Delphi 项目迁移到 Tiburon 中的注意事项
- Delphi 项目迁移到 Tiburon 中的注意事项
- Delphi 项目迁移到 Tiburon(Delphi2009,Delphi2010) 中的注意事项
- Delphi 项目迁移到 Tiburon(Delphi2009,Delphi2010) 中的注意事项
- 现有Delphi项目迁移到D2009中的注意事项
- 现有Delphi项目迁移到D2009中的注意事项
- 项目从windows迁移到linux注意事项
- eclipse迁移项目到android stuido注意事项
- Linq To Sql 项目从Beta迁移到RTM注意事项
- 将Kylix的项目迁移到Delphi 2007中
- Oracle中的单引号 + MYSQL到ORACLE程序迁移的注意事项
- 将现有企业级模板项目从 Visual Studio .NET 2003 迁移到 Visual Studio 2005
- Delphi 项目由Access升级到SQLServer2005的注意事项
- 从DELPHI到JAVA转换中的一些注意事项
- javascript传值和页面跳转传值(ASP.NET页面传参的三种方法)
- [代码]Delphi实现检测程序是否在VMWare中运行
- 【转】ASPX和HTML获取系统根目录的路径
- NewAction
- 程序员认识的JavaScript
- 现有 Delphi 项目迁移到 Tiburon 中的注意事项
- asp.net正则表达式提取网页网址、标题、图片,滤所有HTML标签
- JAVA程序员您需要学习的25个标准
- Java内存回收机制全解(算法+内存分配)
- JDBC插入或修改的sql
- MVC中提交包含HTML代码的页面处理方法
- Mr-sniper
- Delphi的CPU窗口说明
- 更改Delphi系统的默认字体