Delphi: Prompt for UAC elevation when needed

i would relaunch yourself as elevated, passing command line parameters indicating what elevated thing you want to do. You can then jump right to the appropriate form, or just save your HKLM stuff. function RunAsAdmin(hWnd: HWND; filename: string; Parameters: string): Boolean; { See Step 3: Redesign for UAC Compatibility (UAC) http://msdn.microsoft.com/en-us/library/bb756922.aspx This code is released … Read more

How to determine Delphi Application Version

Here is how I do it. I put this in almost all of my small utilities: procedure GetBuildInfo(var V1, V2, V3, V4: word); var VerInfoSize, VerValueSize, Dummy: DWORD; VerInfo: Pointer; VerValue: PVSFixedFileInfo; begin VerInfoSize := GetFileVersionInfoSize(PChar(ParamStr(0)), Dummy); if VerInfoSize > 0 then begin GetMem(VerInfo, VerInfoSize); try if GetFileVersionInfo(PChar(ParamStr(0)), 0, VerInfoSize, VerInfo) then begin VerQueryValue(VerInfo, ‘\’, … Read more

Which embedded database to use in a Delphi application?

I’m using Firebird 2.1 Embedded and I’m quite happy with it.I like the fact that the database size is practically unlimited (tested with > 4 GB databases and it works) and that the database file is compatible with the Firebird Server so I can use standard tools for database management and inspection. Distribution consists of … Read more

SynEdit for Firemonkey?

There most likely is not (at the moment): From the homepage: It is a pure-VCL/CLX control, meaning it is not a wrapper for Microsoft Windows controls and so no run-time library is required. CLX or Component Library for Cross Platform is the cross-platform equivalent of the VCL – Borland’s widget library. From Nakeymonkey – native … Read more

Delphi: Understanding constructors

I see two reasons your original set of declarations shouldn’t compile cleanly: There should be a warning in TCellPhone that its constructor hides the method of the base class. This is because the base-class method is virtual, and the compiler worries that you’re introducing a new method with the same name without overriding the base-class … Read more

Antivirus False positive in my executable

It is surprisingly common that Delphi applications are reported as (potentially) harmful by AV applications. It happened to me a while ago, using Delphi 2009, see http://en.wikipedia.org/wiki/Wikipedia:Reference_desk/Archives/Computing/2010_March_20#Delphi.2FAVG_Issue. At SO, we also have Virus in Delphi 7 Accidentally created a virus? and many more. It might be the actual Induc Virus. But most likely, it is … Read more

Delphi UUID generator

program Guid; {$APPTYPE CONSOLE} uses SysUtils; var Uid: TGuid; Result: HResult; begin Result := CreateGuid(Uid); if Result = S_OK then WriteLn(GuidToString(Uid)); end. Under the covers CreateGuid() calls one of the various APIs, depending on the platform. For example on Windows, it nowadays calls UuidCreate.