Delphi

How to get the list of running processes including full file path?

北城以北 提交于 2020-05-13 13:34:11
问题 I use the JCL function JclSysInfo.RunningProcessesList to get the list of running processes. However, many of the returned processes consist only of the exe file names, while others contain the whole file path, for example: dopus.exe C:\Program Files\Listary\Listary.exe C:\Program Files (x86)\Direct Folders\df.exe Everything.exe etc... The code: uses ..., JclSysInfo; procedure GetRunningProcesses; var RunningProcesses: TStringList; begin RunningProcesses := TStringList.Create; try if

Setting a “nullable” property on a .NET object

时光总嘲笑我的痴心妄想 提交于 2020-05-13 05:49:04
问题 I have some .NET interop code where I've managed to load objects and read properties, however I am having trouble with setting a property on an object. Here's the relevant parts of the Delphi code: uses mscorlib_TLB, Winapi.ActiveX; type // Irrelevant parts of the code omitted TDotNetObject = class(TObject) private FTarget: OleVariant; FType: _Type; public procedure SetProperty(const APropertyName: string; const AValue: OleVariant; const AIndex: Integer = -1); end; function

Create and run TTimer in runtime

半城伤御伤魂 提交于 2020-05-12 04:57:09
问题 I'm trying to achieve in Delphi a behavior similar to Javascript's setTimeout() procedure : run things after a delay of some seconds. To do so, I'm creating a TTimer at runtime, running it, and then free it. Here is my code: procedure createAndRunTimer(); procedure goTimer(Sender: TObject); begin (sender as ttimer).enabled := false; // do stuff here sender.free; end; var t : TTimer; begin t := TTimer.Create(frmprinc); t.Interval := 5000; t.OnTimer := goTimer(t); end; But my code won't compile

Create and run TTimer in runtime

倖福魔咒の 提交于 2020-05-12 04:56:46
问题 I'm trying to achieve in Delphi a behavior similar to Javascript's setTimeout() procedure : run things after a delay of some seconds. To do so, I'm creating a TTimer at runtime, running it, and then free it. Here is my code: procedure createAndRunTimer(); procedure goTimer(Sender: TObject); begin (sender as ttimer).enabled := false; // do stuff here sender.free; end; var t : TTimer; begin t := TTimer.Create(frmprinc); t.Interval := 5000; t.OnTimer := goTimer(t); end; But my code won't compile

Delphi异步编程:匿名线程与匿名方法

强颜欢笑 提交于 2020-05-09 09:56:10
异步编程,是项目中非常有用的而且常用的一种方法,大多以线程实现。 而Delphi传统方法使用线程略为烦琐,好在其后续版本中,提供一些方法,简化一些操作。 几个概念: 匿名线程:TAnonymousThread,Delphi XE始支持。 匿名方法:reference to procedure|function,Delphi 2009 始支持。 匿名线程 其实只是创建一个线程,传入一匿名方法并执行,实现倒也简单,我就移其入Dephi 2009中。其实义如下: TAnonymousThread = class (TThread) private FProc: TProc; protected procedure Execute; override ; public constructor Create ( const AProc: TProc); end ; { TAnonymousThread } constructor TAnonymousThread. Create ( const AProc: TProc); begin inherited Create (True); FreeOnTerminate : = True; FProc : = AProc; end ; procedure TAnonymousThread.Execute; begin FProc(); end ;

Delphi-Cross-Socket

佐手、 提交于 2020-05-09 09:54:54
Delphi-Cross-Socket GITHUB:https://github.com/winddriver/Delphi-Cross-Socket # Delphi 跨平台 Socket 通讯库 作者: WiNDDRiVER(soulawing@gmail.com) ## 重要更新(2017.08.22) - 代码重构, 做了大量修改, 详见源码 - 增加了几个新的 interface, 用法详见 demos - ICrossSocket - ICrossSslSocket - ICrossServer - ICrossSslServer ## 特性 - 针对不同平台使用不同的IO模型: - IOCP > Windows - KQUEUE > FreeBSD(MacOSX, iOS...) - EPOLL > Linux(Linux, Android...) - 支持极高的并发 - Windows > 能跑10万以上的并发数, 需要修改注册表调整默认的最大端口数 - Mac > 做了初步测试, 测试环境为虚拟机中的 OSX 10.9.5, 即便修改了系统的句柄数限制, > 最多也只能打开32000多个并发连接, 或许 OSX Server 版能支持更高的并发吧 - 同时支持IPv4、IPv6 - 零内存拷贝 ## 已通过测试 - Windows - OSX - iOS -

Delphi泛型动态数组的扩展--转贴

风格不统一 提交于 2020-05-09 09:53:10
此文章转载于http://www.raysoftware.cn/?p=278&tdsourcetag=s_pcqq_aiomsg的博客 从Delphi支持泛型的第一天起就有了一种新的动态数组类型,泛型化的动态数组–TArray. 虽然这个类型比较方便,但是却没有提供更丰富的操作.因为XE4中提供了对数据类型的Helper扩展,例如StringHelper,企图实现一个TArrayHelper但是发现Helper不支持泛型的类型. 没办法只好包装了一个record,好处是似乎只要支持泛型的Delphi版本都可以支持.使用Demo如下: procedure TestTArrayEx; var a, b, c: TArrayEx<Integer>; f: TArrayEx<Single>; s : TArrayEx<string>; // i: Integer; z: array of Integer; args:TArrayEx<string>; begin // assign a := [2, 2, 3, 4]; s := ['haha', 'hello']; // clone b := a.Clone; // 给元素赋值 b[0] := 5; // operator + c := a + b; c := 88 + c + 99; a.Append([10, 20, 30]); a

Delphi 10.3.3 fails macOS notarization

谁都会走 提交于 2020-05-09 07:17:08
问题 My program was being notarized in Delphi 10.3.2, but fails in 10.3.3. PAClient exits with code 1. Is there a log that will help me diagnose the problem? If so, how do I find it? Here is the whole error afterward: Connecting to 192.168.1.231 on port 64211... Status Code: 2, LogFileURL: c:\program files (x86)\embarcadero\studio\20.0\bin\CodeGear.Deployment.targets(581,5): error MSB6006: "paclient" exited with code 1. Done building target "_OSXDeveloperID" in project "MintToReport4.dproj" --

Delphi中的ADOquery 用法以及ADOquery的自有方法Append 和Delete和 Edit 和Post

旧街凉风 提交于 2020-05-09 07:02:04
Delphi在数据库操作是非常好用的,delphi把ADO一些方法属性都集成了,以下是我的一些总结: ******************************* 通过sql的存储过程来实现: 添加 With ADOQuery1 do begin Close; SQL.Clear; SQL.Add(' Insert Into Table1(Field1,Field2)') SQL.Add(' Values(10,20)'); ExecSQL; end; 修改 With ADOQuery1 do begin Close; SQL.Clear; SQL.Add(' Update Table1 Set Field1=20,Field2=30)') ExecSQL; end; 删除 With ADOQuery1 do begin Close; SQL.Clear; SQL.Add(' Delete From Table1') SQL.Add(' Where Field1=20 and Field2=30'); ExecSQL; end; 查询 With ADOQuery1 do begin Close; SQL.Clear; SQL.Add(' Select Field1,Field2 From Table1') SQL.Add(' Where Field1=20 and Field2

Delphi中封装ADO之我重学习记录

£可爱£侵袭症+ 提交于 2020-05-09 06:29:06
delphi adodataset ctstatic 数据是缓存在服务器端还是客户端 答:客户端,开启本地缓存功能后,就能数据在本地批量修改后,再批量提交,减少了网络传送 原创,专业,图文 Delphi中封装ADO之我重学习记录 - Delphi,封装,ADO,学习,记录 今日头条,最新,最好,最优秀,最靠谱,最有用,最好看,最有效,最热,排行榜,最牛,怎么办,怎么弄,解决方案,解决方法,怎么处理,如何处理,如何解决 keylife富翁笔记 作者: hongyuan 标题: delphi中封装ado之我重学习记录。。。 关键字: 分类: 我学习delphi,我努力 密级: 保护 (评分: , 回复: 0, 阅读: 268) »» 此文来自: 马开东云搜索 转载请注明出处 网址: http://m.makaidong.com 此文原标题: Delphi中封装ADO之我重学习记录 来源网址: http://m.makaidong.com/博客园最新/3/0_8636.html ado实际上是是微软以com技术,封装底层的ole-db(也是com)方便开发人员使用的一另数据储蓄技术。 ado原生对象: connection对象,使用方法: adoc:=createoleobject('adodb.connection'); adoc.openn(连接串) recordset对象