小编Vib*_*nRC的帖子

我可以在线而不是在函数顶部声明变量吗?

我大约5年前使用过visual basic.

但是我已经开始使用5年前的delphi(当大多数开发人员从delphi跳到visual studio时)delphi就像vb一样容易,同时它也很强大.自从pascal以来Delphi有很多变化(例如:字符串必须以不同的方式组合在pascal而不是仅仅使用+)才能更快地编写脚本.

但为什么在delphi中我们必须声明var在顶部,当我为一个过程编写许多语句时,我必须向上滚动并声明一个var并再次下降.delphi是世界上最好的(有时是唯一的)MOST RAPID'est'IDE之一,但为什么他们不支持在vb c#etc中的任何地方声明变量

delphi variables pascal declaration

3
推荐指数
4
解决办法
5112
查看次数

德尔福应用程序将来会变得更小

已经delphi win32 exe的大小是~850 kb,他们有任何使exe大小更小的路线图,(我知道大小是因为vcl unicode RTTI等等),delphi编译整个单元甚至只有一个小功能这个单位是必需的.所以有任何设施,或第三方产品,(我知道kol和mck做同样的事情)

delphi size winapi

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

使用运行时包构建时,如何使程序使用更少的内存?

我总是编译我的delphi应用程序而没有"使用运行时包构建",但对于我最新的Project我必须使用它(因为它开始逐日膨胀).我使用了一些第三方VCL(带源代码的TMS组件包,源代码目录也在搜索路径中),

当我使用运行时包编译时,整个bpl包在运行时由app使用(否则它只包含应用程序内包中所需的vcl)所以我认为它消耗了很多ram内存(通常我的应用程序使用38 Mb ram但现在根据Windows任务管理器,62 Mb(不仅是我已经使用了许多其他vcl).

有没有办法让我的应用程序消耗低内存,就像它被编译为单个exe.

(我知道只需要vcl重新编译VCL包(我有源代码)但是挖掘源并找出所需的vcl和子程序太难了)

delphi packages bpl

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

Delphi vcl.net应用程序和反编译

.net应用程序可以轻松反编译.但是使用混淆器可能会变得更难.

我的应用程序是Delphi for .net vcl(delphi for .net 2006)应用程序.我的问题是:我的应用程序是否也属于上述类别(可以轻松反编译)或者反编译win32应用程序很难

我还没有使用混淆器.我想知道我的应用程序是否需要混淆器

.net delphi obfuscation vcl

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

visual c ++和C++ builder

C++ builder是否可以编译任何c ++源文件.

我对c ++没有很好的了解.但我在德尔福有一些经验.我喜欢使用c ++但是混淆了哪一个使用

我知道cbuilder有vcl,易于开发,易于delphi开发人员使用

但我的问题是它可以编译任何c ++文件(vc ++和其他源文件).是否与vc ++兼容(不包括MFC和VCL).我可以在c ++ builder中使用任何API吗?

c++ c++builder visual-c++

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

Delphi Firemonkey中的鼠标事件动画

我添加了一个按钮,并为其添加了BoxBlurEffect,并将以下属性设置为BoxBlurEffect1.

//extracted form fmx file 

object BoxBlurEffect1: TBoxBlurEffect
  Trigger = 'IsMouseOver=true'
  Enabled = False
  BlurAmount = 0.009999999776482582
  object FloatAnimation1: TFloatAnimation
    AnimationType = atInOut
    Enabled = True
    Duration = 1.000000000000000000
    Loop = True
    Trigger = 'IsMouseOver=true'
    TriggerInverse = 'IsMouseOver=false'
    StartValue = 0.009999999776482582
    StopValue = 10.000000000000000000
    PropertyName = 'BlurAmount'
  end
end
Run Code Online (Sandbox Code Playgroud)

我设置loop = true,因为如果它是假的,它不是动画,它只是突然变为最终值.

所以我把它设置为真.但现在它循环(如所描述的名称)不仅仅是动画一次并停止.

而且当我离开鼠标时(仅一次),我希望它从停止值动画到起始值.当我的鼠标离开或进入时,新动画必须从当前值开始,而不是从最大值或最小值开始.

delphi delphi-xe2 firemonkey

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

如何销毁数组

myarr : array [0 .. 21] of array [0 .. 21] of TColor;
Run Code Online (Sandbox Code Playgroud)

上面是声明,在使用之后我想销毁数组的数组

for a := 0 to 21 do
  for b := 0 to 21 do
        myarr[a][b].destroy ;
       //myarr[a,b].destroy ;
Run Code Online (Sandbox Code Playgroud)

这两个代码都给我错误,

E2018所需的记录,对象或类类型(Delphi)

这实际上是在一个类中实现的,我想在类的对象被销毁时这样做

我已经实现了这一点,当执行鼠标单击时,必须销毁前一个对象(包括此数组)并且必须创建一个新对象.实际上,当发生这种情况时,它们必须没有任何额外的内存,但当我检查这个时我的Windows任务管理器每次点击另外200 kb添加,我的应用程序将多次执行此操作.

delphi delphi-xe2

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

blazor 组件接近性能

最近在创建 blazor 组件时,我遇到了某些问题。

  1. 创建组件的最佳方法是什么(本机和或使用现有的 JavaScript UI)

  2. 选择 Existing JavaScript 时是否存在性能或内存泄漏。

  3. 使用 JavaScript Lib 组件时对服务端 blazor 的任何影响。

  4. 两种方法的优缺点是什么?

c# blazor blazor-server-side

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

德尔福XE2中的Dcu

用于firemonkey应用程序的delphi xe2中的*.dcu文件是否独立于平台. 在这里.适用于32位和64位以及其他操作系统.

如果是这样,dcu文件是如何设计的.它是类似于以前的(delphi 1-delphi xe)或类似中间语言(如java或.net)的东西

是这个新的dcu将使dcu文件的反编译更容易.

这个问题的主要目的是了解有关firemonkey的新dcu文件的优缺点的一些细节.

delphi cross-compiling delphi-xe2 firemonkey

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

DB连接的良好实践

我正在创建Delphi应用程序以连接我的数据库.

在某些情况下,我的应用程序需要在一秒钟内写入多个条目,在其他时候它必须饿死几分钟.

因此,始终打开和关闭连接或保持打开数小时毫无意义.

所以我考虑创建一个计时器(interval = 1000),并且计时器将在每个滴答时将整数从10减少到0.当int为0时,将关闭连接.

与db交互的每个方法都将运行另一个方法,该方法将int设置为10并检查连接是否打开,否则它将打开连接.

这是数据库处理的一个好习惯,还是有任何其他建议.

database delphi

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