标签: delphi-xe5

Delphi XE5 FireMonkey上的ListBox项限制

我使用列表框组件和LiveBindings列出字段的内容,但该表有14443条记录,而lisbox只显示200条记录.delphi XE5的版本是try许可证.列表框的限制行是什么?手机正在运行Android.

谢谢.

delphi listbox firemonkey livebindings delphi-xe5

1
推荐指数
1
解决办法
2403
查看次数

如何使用 TZCompressionStream 调整压缩级别?

当我使用以下命令创建TZCompressionStream对象时:

var
  cs: TZCompressionStream; 
  dest: TStream;
  level: TZCompressionLevel;
...
  cs := TZCompressionStream.Create(level, dest);
Run Code Online (Sandbox Code Playgroud)

我收到这个编译器错误:

E2250 没有可以使用这些参数调用的“Create”的重载版本

但我的代码是根据构造函数声明:

Create(compressionLevel: TZCompressionLevel; dest: TStream); overload; 
Run Code Online (Sandbox Code Playgroud)

当我使用XE时,一切正常。但是现在XE5出现了这个错误。为什么?

更新:

  • 工作代码:cs := TZCompressionStream.Create(dest);
  • 失败代码:cs := TZCompressionStream.Create(clMax, dest);

我也尝试过改变参数的顺序,但没有成功。

delphi delphi-xe5

1
推荐指数
1
解决办法
1462
查看次数

Delphi XE5 - 在TBitmap上操作时线程和内存泄漏

应用程序按照我的意愿工作但存在相当大的内存泄漏.限制一个线程的每个事件都会给我4个TBitmaps和2个丢失的TStrokeBrush.

程序DrawSine(); 在Synchronize语句中的Execute中触发:

procedure SineThread.DrawSine();
var
  sin_T : Extended;
  Point2 : TPoint;
  I : Integer;
begin
  TempBitmap.SetSize(Twidth, Theight);
  TempBitmap.Canvas.BeginScene();
  TempBitmap.Canvas.Stroke.Kind := TBrushKind.bkSolid;
  TempBitmap.Canvas.Stroke.Color := claLime;
  TempBitmap.Canvas.Clear(TAlphaColorRec.Black);
  for I := 0 to Twidth do
  begin
      sin_T := Sin(((I - Tphas)/100.0) * Tfreq);

      Point2.X := Round(I);
      Point2.Y := Round(sin_T * Tampl) + Round(Theight/2.0);

      if I = 0 then
      begin
        Point1.X := Round(I);
        Point1.Y := Round(sin_T * Tampl) + Round(Theight/2.0);
        TempBitmap.Canvas.DrawLine(Point1, Point2, 1.0, TempBrush);
      end
      else
      begin
        if I = Twidth then
        begin …
Run Code Online (Sandbox Code Playgroud)

delphi delphi-xe5

1
推荐指数
1
解决办法
999
查看次数

字节绝对字符串数组:编译64位Windows时的内容不正确

如果我为64位Windows编译,我的Byte-Arrays没有正确的输入值.如果我为x32-Windows编译此过程,则值是正确的.

谁能帮我?

procedure doAnything(AText: String); //for example "<xml><s name="hello"/></xml>"
var
  myArray:array of Byte absolute AText;
begin
  ... (* myArray for x32: correct Length and Values (60, 0, 120, 0, 109, 0, ...) *)
  ... (* myArray for x64: Length: 2 (60, 0) *)
end
Run Code Online (Sandbox Code Playgroud)

delphi 64-bit delphi-xe5

1
推荐指数
1
解决办法
652
查看次数

如何使用Delphi XE5在Android中禁用屏幕截图?

我知道FLAG_SECURE是一种禁用Android屏幕截图功能的方法。如何在 FireMonkey / Delphi XE 5 中使用它?

delphi android delphi-xe5

1
推荐指数
1
解决办法
817
查看次数

访问违规通知

获取我无法追踪的奇怪访问冲突.当用户使用该程序时,似乎几乎随机发生.

使用madexcept,它显示堆栈跟踪:

date/time          : 2014-09-17, 18:04:30, 366ms
operating system   : Windows 8 x64 build 9200
system language    : English
system up time     : 3 days 19 hours
program up time    : 1 hour
processors         : 4x Intel(R) Core(TM) i3-3110M CPU @ 2.40GHz
physical memory    : 3113/6036 MB (free/total)
free disk space    : (C:) 562.61 GB
display mode       : 1366x768, 32 bit
process id         : $24d0
allocated memory   : 43.32 MB
largest free block : 1023.78 MB
executable         : MyProgram.exe
exec. …
Run Code Online (Sandbox Code Playgroud)

delphi delphi-xe5

1
推荐指数
1
解决办法
650
查看次数

德尔福秒表时间格式

procedure TForm1.TimerSWTimer(Sender: TObject);
var
 Hour, Min, Sec, MSec: word;
begin
 ElapsedTime := Time - StartTime + Totaltime ;
 DecodeTime(elapsedtime, Hour, Min, Sec, MSec);
 LabelSW.Text := IntToStr(Hour)  + ':'+ IntToStr(Min) + ':'+ IntToStr(Sec) + ':' + IntToStr(Msec);
end;
Run Code Online (Sandbox Code Playgroud)

这是我试图在我的应用程序中实现的秒表代码,主要问题是标签上显示的时间格式是0:0:0:0,我希望它是00:00:00:000几小时,几分钟,几秒和几毫秒.我尝试了很多我在网上找到的东西和代码,但没有一个对我有帮助.

当我启动秒表时,时间会像这样0:0:0:1,比0:0:0:10,0:0:0:100在完整的第二个毫秒之后变为1个十进制(1而不是001).几小时,几分钟和几秒相同,它们以1位小数显示,直到达到10(9而不是09).

我试过了:

如果你们中的任何一个好伙伴都可以提供帮助,我将非常感激.

干杯.

delphi format time stopwatch delphi-xe5

1
推荐指数
1
解决办法
5871
查看次数

找出文件的类型(GIF,JPG,PNG) - DELPHI

我正在为每个URL提供图像并显示TImage.我将使用JPG,GIF和PNG.但我不知道如何找出每个文件的扩展名,然后进行区分.我如何获得标题或任何其他方法让我知道什么类型的文件:GIF或PNG或JPG?

var
  MS : TMemoryStream;
  GIf: TGIFImage;
  jpegimg: TJPEGImage;


begin
  MS := TMemoryStream.Create;
  GIf := TGIFImage.Create;
  jpegimg   := TJPEGImage.Create; ///////

  try
      try
        IdHTTP1.get('http://forum.wmonline.com.br/uploads/av-8929.jpg',MS);
        Ms.Seek(0,soFromBeginning);
        //Gif.LoadFromStream(MS);
        //Logo.Picture.Assign(GIF);
        jpegimg.LoadFromStream(MS);
        Logo.Picture.Assign(jpegimg);
      except
        ShowMessage('ERRO');
        Exit;
      end;
  finally
    FreeAndNil(GIF);
    FreeAndNil(MS);
    jpegimg.Free;  ////
  end;
Run Code Online (Sandbox Code Playgroud)

delphi idhttp delphi-xe5

1
推荐指数
1
解决办法
2998
查看次数

Delphi XE5:来自客户端的 JSON 发送 TRESTRequest 正文作为文本/纯文本接收

我正在尝试从客户端使用 RESTClient(Delphi XE5,Windows 8)发送 JSON。但在服务器端,它作为文本/纯数据接收。

我正在尝试发送的 JSON:

{
  "kind": "News",
  "group": {
    "id": "G01"
  },
  "title": "Latest News",
  "content": "this is the latest news"
}
Run Code Online (Sandbox Code Playgroud)

在服务器端接收:

    ----------120515234155952
    内容配置:表单数据;名称=“身体”
    内容类型:文本/纯文本
    内容传输编码:引用打印

    {
      "kind": "新闻",
      “团体”: {
        "id": "G01"
      },
      "title": "最新消息",
      "content": "这是最新消息"
    }
    ----------120515234155952
    内容配置:表单数据;名称=“访问令牌”
    内容类型:文本/纯文本
    内容传输编码:引用打印

    ya29.QQKUa6ZDsco2uDK2neuYdurolLF8LAPDjMZGTdF3bnDLOIgX1JQ8g-FxKtMLSF-gl=
    MDY
    ----------120515234155952--

用于将 JSON 添加到 TRESTRequest 的代码:

var
  ........
  RESTRequest : TESTRequest;
  content : String;
  ........
begin

  ........

  content:='{'+
        '  "kind": "News",'+
        '  "group": {'+
        '    "id": "G01"'+
        '  },'+
        '  "title": …
Run Code Online (Sandbox Code Playgroud)

delphi json rest-client delphi-xe5

1
推荐指数
1
解决办法
1万
查看次数

我们如何使用附带的CodeSite Express在Delphi XE 5中获取堆栈跟踪?

是否可以在运行时从包含的CodeSite express获取异常的堆栈跟踪?如果是这样,有没有人有这方面的经验或实例?

如果失败了,有没有办法通过开源库实现这一目标?

我将日志记录引入了一个已有10年历史的Delphi应用程序,因此在没有日志记录的情况下,仍有相当大比例的应用程序.因此,对于尚未重写的区域,我有一个Application.OnException挂钩.对我们在生产中获得的零星访问冲突进行有意义的堆栈跟踪将非常有用.下面是我已经拥有的,我很失望地发现StackTrace属性为空.

class procedure Log.Error(const err: Exception; const method: string);
begin
   FileLog(err, method);
end;

class procedure Log.FileLog(const err: Exception; const method: string);
var
_msg: TStringList;
begin
   //_msg := Format('%s Failed:%3:s%1:s%3:s %2:s%3:s', [PreparedEntry(method), err.Message, err.StackTrace, sLineBreak]);
   _msg := PreparedEntry( Format('%s Failed:', [method]));
   _msg.Add(err.Message);
   _msg.Add(err.StackTrace);
  WriteLog(_msg, _logFileName);
end;
Run Code Online (Sandbox Code Playgroud)

我们正处于从delphi win32应用程序迁移到仍然为delphi客户端应用程序提供服务的多层.net wcf服务器应用程序的高级阶段.长期和短期是在说服管理层购买Delphi XE5(只是为了获得改进的json支持和实时绑定)之后,要求购买另一个delphi是非常难以证明的.

谢谢

delphi logging exception codesite delphi-xe5

0
推荐指数
1
解决办法
928
查看次数