那位高手能帮忙说下吗,我D7的代码转成D2009经常出现字符串数据类型不对的问题,比如这几个Char,AnsiChar.string,AnsiString,又不知道怎么改,那位高人能给详细说说啊!谢谢了!
解决方案 »
- DLL函数返回PChar类型字符串, 在调用这个DLL函数显示结果后面会多出一个#14这个字符, 为什么?
- 在线等待 - 100分。问个关于corba性能疑问。欢迎有过corba经历的朋友来谈谈。
- 叫没分了的朋友来拿分
- 问个无聊的问题,大家涨了多少工资啊?
- 大家帮忙看看这个问题,很急!
- 关于 c/s给点意见!
- 日期问题
- 利用MAC地址通信
- delphi怎么了?连主从表都不认,我设置的主从表,在field link designer对话框里,始终找不到要用的字段,只有首字段,不会是bug吧?
- 谁有Big5码与GB码互相转换的控件啊?
- ADOConnection 连接 Access 问题
- delphi調用vb2005動態庫
UnicodeString是d2009中出现的新字符串类型,之前没有对应版本;d2009中的AnsiString也和之前版本的AnsiString类型有差别(多了两个word,一个表示code page,另一个表示element size),但基本上可以一样用,它与UnicodeString使同相同的管理。如果在d2009之前用过tntware套件的话,从没有引用计数的WideString过渡到d2009的UnicodeString完全没难度
至于文本的encoding/decoding,就不是一两句就说的明白的了,关于unicode、gb2312、gb18030、utf-8、utf-16(le/be)之类的还是慢慢找资料看吧,作为东亚地区的程序员非常有必要了解一下
begin
winexec(pchar(com),sw_hide);那请问Seamour 上面的D7代码在D2009里面出了如下的错误,[DCC Error] Unit1.pas(77): E2010 Incompatible types: 'Char' and 'AnsiChar'我改成如下就好了:com:string;
begin
winexec(PAnsiChar(AnsiString(com)),sw_hide);是不是要这样改呢,我就是想知道在D7改成2009后经常出现的这个字符串错误在2009里面怎么改啊?
个人对d2009的语法迁移方式很有意见,表面上是减少老代码迁移的工件量,实际上会直接拿过来用会弄出一堆问题来。而且就算改到编译通过了也很可能会有隐含的问题,以及编译器对 #N 形式字符常量的二义性问题,再加上在cb中不可避免的String.c_str()/t_str()无法直接改unicode选项的问题,我认为d2009在字符串方面的语法迁移是非常失败的