Delphi XE2(RAD Studio XE2/Delphi16)Beta 试用体验(2)

来源:互联网 发布:工程管家软件 编辑:程序博客网 时间:2024/05/16 07:49

这个版本的编译指令是Ver230。

很多单元名称类似C#,使用多级方式了,如:

  System.SysUtils,
  System.TypInfo,
  System.Types,
  System.Classes,

一般的元件增加了一个LiveBindings属性,用来把数据源的资料自动显示出来,减少手动写代码。

SOAP部分,InvRules.pas没有了,其中的GetTypeSize函数,没有了可以直接使用的,但在Soap.InvokeRegistry.pas和Soap.OPToSOAPDomConv.pas找到两个局部函数:

Soap.InvokeRegistry.pas

  function GetTypeSize(Info: PTypeInfo): Integer;  var    Context: TRttiContext;    Typ: TRttiType;  begin    if (Info = TypeInfo(Variant)) or (Info = TypeInfo(OleVariant)) then      Exit(SizeOf(TVarData));                                                    Result := SizeOf(Pointer);    Typ := Context.GetType(Info);    if Assigned(Typ) then      Result := Typ.TypeSize;  end;

Soap.OPToSOAPDomConv.pas

function GetTypeSize(Info: PTypeInfo): Cardinal;varContext: TRttiContext;Typ: TRttiType;begin  if Info = TypeInfo(Variant) then    Exit(SizeOf(TVarData));                                                  Result := SizeOf(Pointer);  Typ := Context.GetType(Info);  if Assigned(Typ) then     Result := Typ.TypeSize;end;

看起来没有很好统一。

我升级旧程序时,编译中出现这个错误:[DCC Fatal Error] F2084 Internal Error: CCH316

只能重启,关闭时速度很快,可能不再优雅的方式one by one的卸载bpl。

代码编辑窗中的“Open file at cursor”有问题,旧代码中的Classes单元引用,不改为System.Classes,可以编译,但是“Open file at cursor”找不到文件;另外,即使已经在Library Paths文件夹中的文件,有时候也找不到。

windows.pas中的这个函数签名变了,最后一个参数原来是DWord,现在改为NativeUInt:

function WriteProcessMemory(hProcess: THandle; const lpBaseAddress: Pointer; lpBuffer: Pointer;
  nSize: SIZE_T; var lpNumberOfBytesWritten: SIZE_T): BOOL; stdcall; 

SIZE_T = ULONG_PTR;

ULONG_PTR = NativeUInt;

来看看几个bug或建议的处理情况:

1、generate IdUDPServer.onUDPRead event raise "Expected '>' but '.' found"

http://qc.embarcadero.com/wc/qcmain.aspx?d=89662

这个在delphi15中出现的bug还是没有修正,他们对待Bug的态度真是不敢恭维,win64,iOS...一路裸奔,就没人搽屁股?

2、Make registered file formats accessible

http://qc.embarcadero.com/wc/qcmain.aspx?d=71373

这个建议还是没人理。

原创粉丝点击