是否有适用于Delphi XE3的Async Pro版本?

时间:2015-04-05 08:12:23

标签: delphi packages delphi-xe3

我想在Delphi XE3中使用 Async Pro 。我在SourceForge上找到了一个版本A407,这似乎是最新版本。当我尝试安装运行时包A407_R100.bpl时,出现数据长度超过2GB的错误。当我解决这个问题时(有些猜测)我得到了4个其他错误。我也可以尝试解决这些问题,但是我担心我将不得不修补这么多代码,它将不再起作用。

是否有适用于XE3的 Async Pro 版本?或者至少是如何修补代码的明确且经过验证的说明?

更新
Here我找到了一个 AsyncPro 库,它似乎更新了;至少包名为A407_ * 140.bpl而不是A407_ * 100.bpl。我在 AwAbsPd.pas 的代码中仍有一些错误:

procedure InitializeUnit;
var
  TmpDateSeparator : char;
  TmpDateFormat : string[15];
  TmpDateTime : TDateTime;
begin
  {Set Unix days base}
  TmpDateFormat := ShortDateFormat;
  TmpDateSeparator := DateSeparator;
  DateSeparator := '/';
  ShortDateFormat := 'mm/dd/yyyy';
  TmpDateTime := StrToDateTime('01/01/1970');
  UnixDaysBase := Trunc(TmpDateTime);
  DateSeparator := TmpDateSeparator;
  ShortDateFormat := TmpDateFormat;

虽然 SysUtils 位于“uses”子句中,但我收到的错误是ShortDateFormatDateSeparator未定义。所以我对它们进行了硬编码:

procedure InitializeUnit;
var
  TmpDateSeparator : char;
  TmpDateFormat : string[15];
  TmpDateTime : TDateTime;

// added stevenvh
var
  DateSeparator: char;
  ShortDateFormat: String;
  ShortTimeFormat: String;
// end addition

begin
  // added stevenvh
  DateSeparator := '-';
  ShortDateFormat := 'yyyy-mm-dd';
  ShortTimeFormat := 'HH:mm:ss';
  // end addition

  {Set Unix days base}
  TmpDateFormat := ShortDateFormat;
  TmpDateSeparator := DateSeparator;
  DateSeparator := '/';
  ShortDateFormat := 'mm/dd/yyyy';
  TmpDateTime := StrToDateTime('01/01/1970');
  UnixDaysBase := Trunc(TmpDateTime);
  DateSeparator := TmpDateSeparator;
  ShortDateFormat := TmpDateFormat;

几乎就在那里!运行时和设计时包都编译,但是当我尝试安装designtime包时,出现“01/01/1970”不是有效日期的错误。这是上面代码中的 not 错误,因为当我更改代码中的日期时它仍然是“01/01/1970”。

原来只有一个其他文件包含“01/01/1970”作为文本,但这是一个.ocx文件,所以我不确定如何修改它。 / p>

3 个答案:

答案 0 :(得分:1)

根据这篇博文:

http://blog.kassebaum.eu/?p=379

Async Proffesional目前由Roman Kassebaum维护,但仅适用于最新版本的RAD studio(包括Delphi和CBuilder)。

受管理的博客链接到下一个来源伪造页面: http://sourceforge.net/projects/turbopowerasyncprofessionalnew/?source=navbar

页面上的信息表明该项目已关闭,并且已移至github,但未提供任何链接。

在对GitHub进行一些搜索之后,我找到了项目页面

https://github.com/TurboPack/AsyncPro

无论如何,由于Roman Kassebaum正在维护该项目以与最新的Delphi版本兼容,因此可能对您无效。

所以我强烈建议您与Roman Kassebaum联系,因为他最了解您应该在Delphi XE3安装中使用哪个版本,或者需要修复哪些版本才能使其兼容。

答案 1 :(得分:1)

使用FormatSettings.ShortDateFormatFormatSettings.DateSeparator,...而不是引入自己的变量。那将是最接近原始的。

更简洁的方法是使用日期/时间函数和格式设置重载,而不是暂时更改全局格式设置。

答案 2 :(得分:0)

官方AsyncPro版本转移到GitHub。您可以在TurboPack下找到它。它支持最新的Delphi和C ++ Builder版本。

我还为XE3创建了一个分支。您可以在TurboPack XE3下找到它。