Watch, Follow, &
Connect with Us

ID: 22159, IsDelphi

by Bruce McGee Email: Anonymous


Find applications built with Delphi and C++ Builder.
Download Details
CDN Login Required to Download. (You will be redirected to the login page if you click on the Download Link)
To download this, you must have registered:
A free membership

For Delphi, Version 9.0  to 10.0 817 downloads
Copyright: No significant restrictions


Size: 16,054 bytes
Updated on Sun, 06 Nov 2005 03:34:09 GMT
Originally uploaded on Thu, 19 Aug 2004 08:30:50 GMT
SHA1 Hash: 3590B19F3BAA272074602F674640A534D2CD5C25
MD5 Hash: 563F885618B18DC8265D72EEA3645B23

    Explore the files in this upload

Description
Find applications built with Delphi, Delphi for .Net or C++ Builder. The SKU is also shown for Win32 applications. You might be surprised how much software has been built using Borland tools.

IsDelphi requires version 1.1 of the .Net framework to examine .Net assemblies, but can still examine Win32 executables without it.

IsDelphi doesn't report SKU properly if the file has been compressed or encrypted.

Based on an original idea from Robert Kozak.
http://cc.borland.com/codecentral/ccweb.exe/listing?id=15250


Points of interest:

IsDelphi consists of 2 parts. A Win32 exe (IsDelphi.exe) and a .Net assembly (IsDelphiAssembly.dll).


Unmanaged Exports - IsDelphiAssemblyUNT.pas
-------------------------------------------
Unmanaged exports allow methods to be exported from .Net assemblies and used by any Win32 application without using COM interop. This is a native .Net feature that is supported by Delphi, but not by C# or VB.Net.

The managed assembly (IsDelphiAssembly.dll) is loaded dynamically if .Net 1.1 is found, so IsDelphi should work properly even if .Net isn't installed. It just won't be able to examine any .Net assemblies it finds.


IsExe function - IsDelphiToolsUNT.pas
--------------------------------
Determines if a file is executable based on its extension. Currently reports files with the following extensions as executable: .exe, .dll, ocx, .scr and .cpl.

I was going to use the fairly recently disclosed PathIsExe Windows API call, but it doesn't support .dll and .cpl files.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/shellcc/platform/shell/reference/functions/pathisexe.asp
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnapiover/html/api-overview.asp


IsManaged function - IsDelphiToolsUNT.pas
------------------------------------
Determines if a file is a .Net assembly. The method examines the file's header directly, and doesn't need to have the .Net runtime installed to work properly.

The original MSDN article is here:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vcmex/html/vcconmanagedextensionsforcfrequentlyaskedquestions.asp


For .. in - IsDelphiToolsUNT.pas and IsDelphiAssemblyUNT.pas
---------------------------------------------------------------------
Used with sets in GetDotNetVersionsText and arrays in the IsDelphiDotNet function.

This is such a cool feature, I had to find an excuse to use it.

   Latest Comments  View All Add New

Move mouse over comment to see the full text

Server Response from: ETNACDC01