今天把项目往移动平台移植,遇到指针错误,无效地址访问.
XE5的单步调试速度太让人崩溃了.
发现错误出在一个字符串的循环上,我是for i:= 1 to length(字符串变量) do
结果报错.
看了一下XE5的DateType的帮助说明:
Note: All the string types described in this topic are supported by the Delphi desktop compilers (DCC32, DCC64, and DCCOSX).
However, the Delphi mobile compilers (DCCIOS32 and DCCIOSARM) support only the default string type (UnicodeString).
Also, with the Delphi mobile compilers, strings are 0-based and immutable; to manipulate strings, use the TStringHelper functions, which are provided for this purpose. For more information, see Migrating Delphi Code to Mobile from Desktop.
也就是在iOS和Android上字符串只有默认一种也就是UnicodeString.并且字符串的字符索引变成0开始的.而且字符串是不可变的.呃.
那我可怜的跨平台的代码啊.又要多很几行判断了.
判断方式有好多种,比如
{$IFDEF ANDROID}{$IFDEF IOS}
或者干脆如果处理器是ARM处理器就认为是移动代码
{$IF defined(CPUARM)}
补充一个悲剧的发现,尽管在移动代码中字符串以0为起始,但是Pos(‘a’,’abc’)函数返回的还是1.
var
s:string;
s := ‘abc’;
Delete(s,1,1);s变成’bc’
copy(‘abc’,1,1);返回的是’a’
也就是系统函数还都是基于1的.
实际上易博龙鼓励我们使用TStringHelper的函数:remove,delete…这些都是基于0的.
可是我要写D7-XE5的跨平台通用功能就没办法了,TStringHelper是早期版本Delphi所不支持的.
XE5是强列支持用TStringHelper的。
判断这个用{$IFDEF NEXTGEN}
d7 操作字符串,也是从0开始,你可以在d7中测试一下
str:=’abc’;
copy(str,1,1) =a
开始断章取义,不好意思,xe5 TStringHelper的函数:remove,delete…这些都是基于0的.确实D7-XE5 不能通用。
Low/High倒是不必关心字符串的开始和结束,但是D7的Low/High只支持数组,不支持字符串.高版本的没问题
还有一种方式,使用
for i := 0 to Length(S) – 1 do
begin
S.chars[i];
end;
移动平台,从0开始,而WIN平台又是从1开始。
我个人觉得,这是一个非常奇怪的设计
一样的,用了StringHelper,低版本不兼容
Pingback引用通告: 43ytr.icu/j/GPoAr
Pingback引用通告: glyxar.ru
Pingback引用通告: abisko.ru
Pingback引用通告: 2021
Pingback引用通告: Èãðà ïðåñòîëîâ 8 ñåçîí
Pingback引用通告: tv onlayn
Pingback引用通告: video
Pingback引用通告: wwin-tv.com
Pingback引用通告: 00-tv.com
Pingback引用通告: tureckie_serialy
Pingback引用通告: Watch TV Shows
Pingback引用通告: Kinokrad 2019 Kinokrad Hd
Pingback引用通告: serial 1
Pingback引用通告: cerialest.ru
Pingback引用通告: serial
Pingback引用通告: youtube2019.ru
Pingback引用通告: lostfilmtv net
Pingback引用通告: movies
Pingback引用通告: trustedmdstorefy.com
Pingback引用通告: bofilm ñåðèàë
Pingback引用通告: bofilm
Pingback引用通告: 1 seriya
Pingback引用通告: Êîíñóëüòàöèÿ ïñèõîëîãà
Pingback引用通告: topedstoreusa.com
Pingback引用通告: hqcialismht.com
Pingback引用通告: viagramdtrustser.com
Pingback引用通告: rick and morty season 3
Pingback引用通告: See-Season-1
Pingback引用通告: Evil-Season-1
Pingback引用通告: Evil-Season-3
Pingback引用通告: Queer-Eye-We-re-in-Japan-Season-1
Pingback引用通告: 1plus1tv
Pingback引用通告: #1plus1
Pingback引用通告: Watch Movies Online
Pingback引用通告: Film 2020
Pingback引用通告: parazity-oskar-2020
Pingback引用通告: human design
Pingback引用通告: DSmlka
Pingback引用通告: viagra
Pingback引用通告: viagra online
Pingback引用通告: +
Pingback引用通告: ¯jak Son³k
Pingback引用通告: astrolog
Pingback引用通告: film-kalashnikov-watch
Pingback引用通告: generic cialis
Pingback引用通告: cialis online
Pingback引用通告: kinoxaxru.ru
Pingback引用通告: pobachennya u vegas
Pingback引用通告: Proshanie so Stalinym
Pingback引用通告: strelcov 2020
Pingback引用通告: film t-34
Pingback引用通告: online pharmacy
Pingback引用通告: canadian pharmacy
Pingback引用通告: Beograd film 2020
Pingback引用通告: psiholog
Pingback引用通告: psixolog
Pingback引用通告: psyhelp_on_line
Pingback引用通告: Coronavirus real-time updates
Pingback引用通告: PSYCHOSOCIAL
Pingback引用通告: rasstanovka hellinger
Pingback引用通告: Cherekasi film 2020
Pingback引用通告: film doktor_liza
Pingback引用通告: djoker film
Pingback引用通告: Ïñèõîëîã îíëàéí
Pingback引用通告: bitly.com
Pingback引用通告: generic viagra
Pingback引用通告: viagra price
Pingback引用通告: viagra generic
Pingback引用通告: viagra coupon
Pingback引用通告: cheap viagra
Pingback引用通告: cialis generic
Pingback引用通告: cialis coupon
Pingback引用通告: cialis price
Pingback引用通告: buy cialis online
Pingback引用通告: bitly
Pingback引用通告: movies-tekstmovies-tekst
Pingback引用通告: Earthlings 2005
Pingback引用通告: viagra 100mg
Pingback引用通告: smotret onlajn v horoshem kachestve hd
Pingback引用通告: malenkie-zhenshhiny-2020
Pingback引用通告: Dom 2
Pingback引用通告: Cherkassy 2020
Pingback引用通告: chernobyl-hbo-2019-1-sezon
Pingback引用通告: batmanapollo.ru
Pingback引用通告: 525
Pingback引用通告: dom2 ru
Pingback引用通告: psy psy psy psy
Pingback引用通告: krsmi.ru
Pingback引用通告: like-v.ru
Pingback引用通告: MAMprEj
Pingback引用通告: tsoy
Pingback引用通告: 44549
Pingback引用通告: HD
Pingback引用通告: bitly.com/doctor-strange-hd
Pingback引用通告: bitly.com/nevremyaumirat
Pingback引用通告: bitly.com/topgunmavericktopgun
Pingback引用通告: bitly.com/fantasticheskietvari3
Pingback引用通告: 1445
Pingback引用通告: cleantalkorg2.ru
Pingback引用通告: cleantalkorg2.ru/sitemap.xml
Pingback引用通告: join vk
Pingback引用通告: vk login
Pingback引用通告: svaty7sezon
Pingback引用通告: svaty 7
Pingback引用通告: tik tok
Pingback引用通告: 666
Pingback引用通告: The Revenant 2021
Pingback引用通告: 2021
Pingback引用通告: Human Design 2021
Pingback引用通告: 777
Pingback引用通告: 4569987
Pingback引用通告: psy
Pingback引用通告: psy2022
Pingback引用通告: projectio freid
Pingback引用通告: kinoteatrzarya.ru
Pingback引用通告: afisha-kinoteatrov.ru
Pingback引用通告: Ukrainskie-serialy
Pingback引用通告: site
Pingback引用通告: top
Pingback引用通告: soderzhanki-3-sezon-2021.online