Delphi Application Software

Delphi Application Software 5,8/10 3066 reviews
Active1 year, 7 months ago

I am looking a tool for protect and licensing my commercial software, Ideally must provide an SDK compatible with Delphi 7-2010, support AES encryption, Keys generator and capacity to create trial editions of my application.

Object Pascal is an extension to the Pascal programming language that provides object-oriented features such as classes and methods. The language was originally developed by Apple Computer as Clascal for the Lisa Workshop development system. As Lisa gave way to Macintosh, Apple collaborated with Niklaus Wirth, the author of Pascal, to develop an officially standardized version of Clascal. The Delphi programming language provides a quick way to write, compile, package, and deploy applications cross-platform. Although Delphi creates a graphical user interface, there are bound to be times you want to execute a program from your Delphi code. VCL is a library for creating software in Delphi and CBuilder application s. With its help a developer can create, visualize. The library is provided in the Delphi source code. The reason for the application window has a bit of a sordid history. When developing Delphi 1, we knew we wanted to use 'SDI' (windows scattered all over the desktop) ui model for the IDE. We also knew that Windows sucked (and still does) at that model. Delphi is an integrated development environment (IDE) for rapid application development of desktop, mobile, web, and console software, developed by Embarcadero Technologies.It is also an event-driven language. Delphi's compilers use their own Object Pascal dialect of Pascal and generate native code for Microsoft Windows, macOS, iOS, Android and Linux (x64 only).

I am currently evaluating ICE License. Someone has experience with this software?

WeGoToMars
10.4k15 gold badges118 silver badges233 bronze badges
RRUZRRUZ
125k13 gold badges315 silver badges446 bronze badges

closed as off-topic by Bill the LizardAug 7 '13 at 17:09

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • 'Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.' – Bill the Lizard
If this question can be reworded to fit the rules in the help center, please edit the question.

11 Answers

I have used OnGuard (using the Delphi 2009/2010 source from SongBeamer) along with Lockbox to handle encryption with success. Both are commercial quality libraries and are free to use with full source.

I did once also use IceLicense, but switched to OnGuard/Lockbox which allowed me greater control over the key generation process which we embedded directly into our CRM system.

skamradtskamradt
14.5k1 gold badge30 silver badges49 bronze badges

Here's my list of software protection solutions. I'm looking at switching from ASProtect to another protection so I'm also in the process of analyzing most of these programs:

Themida (Oreans) http://www.oreans.com/products.php There are unpacking tutorials for all the versions of Themida. There is however the possibility of requesting 'custom' builds which might help avoid this.

Code Virtualizer (Oreans) http://www.oreans.com/products.php Allows to protect specific parts of the application with a Virtual Machine. A cracker on a forum said he 'made a CodeUnvirtualizer to fully convert Virtual Opcodes to Assembler Language'.

EXECryptor Very difficult to unpack. GUI does not work under Vista. Appears to no longer be developed.

ASProtect Small protection overhead. Appears to no longer be developed.

TTProtect - $179 / $259 13 MB download. Chinese developer. Adds about xxx overhead to the exe. http://www.ttprotect.com/en/index.htm

VMProtect - $159 / $319 (now $199/$399) http://www.vmprotect.ru/ 10 MB download. Russian developer. Seems to be updated frequently. Supports 32 and 64-bit. Uncrackable according with one exetools post, but there seems to be an unpacking tutorial already.

Enigma Protect - $149 http://enigmaprotector.com/en/home.html 7 MB download. Russian developer. Regarded as very difficult to crack. Adds about xxx overhead to the exe.

NoobyProtect - $289 http://www.safengine.com/ 10.5 MB download. Chinese developer. Regarded as very difficult to crack. Adds about 1.5 MB overhead to the exe.

ZProtect - $179 http://www.peguard.com

RLPackhttp://www.reversinglabs.com/products/RLPack.php KeyGen already available.

One thing to note is that the more protection options you enable on the software protector, the bigger the possibility of the protected file being flagged by an anti-virus as a false-positive. For example, on Themida, checking the option to encrypt the file, will most likely create a few false-positives by a few anti-virus programs.I'll update this answer once I get more replies from a hackers forum where I asked some questions about these tools.

And finally, don't use the build-in serial number/license management of these tools. Although they might be more secure than using your own, you will be tied up to that specific tool. If you decide to change software protection in the future, you will also have to manage all the customer keys transfer to a new system.

Uli Gerhardt
12.1k1 gold badge38 silver badges79 bronze badges
smartinssmartins
2,3236 gold badges34 silver badges52 bronze badges

Don't bother. It's not worth the hassle. Only a perfect licensing system would actually do you any good, and there's no such thing. And in the age of the Internet, if your system isn't perfect, all it takes is for one person anywhere in the world to produce a crack and upload it somewhere, and anyone who wants a free copy of your program can get it. (And using a pre-existing library just gives them a head start on cracking it.)

If you want people to pay for your software instead of just downloading it, the one and only way to do so is to make your software good enough that people are willing to pay money for it. Anyone who tells you otherwise is lying.

Mason WheelerMason Wheeler
63.6k36 gold badges222 silver badges426 bronze badges

Of course there is no %100 bullet-proof protection suite, but having some type of protection is better than having nothing.

I worked with WinLicense in Delphi 2009 and Delphi 2010 on Windows XP and Vista. It is a good product with lots of protection options, and customizations. It provides a SDK for developers, and has nice documentation and samples. It also provides a license manager for you. They provide trial download too.

As far as I remember, they offer some customer specific versions too; that means they are willing to provide a custom-built product which is customized according to your needs, but of course that will cost more.

Since WinLicense is a well-known and popular protection suit, many crackers are after it. As you know, the more famous a tool is, the more appealing it is to crackers. But the good thing about Oreans is that they actively monitor underground forums, and provide frequent updates to their products.

So IMHO, if you are supposed to buy a prebuilt protection suite, then you'd better go for WinLicense.

Sep 06, 2019  How to Take Apart a Bogen 3047 Tripod Head. If you try to incorrectly take apart your Bogen tripod head you could ruin it. Follow these steps to do so correctly. Remove the head from the tripod. At the bottom of the aluminum tube that. Jan 21, 2015  bogen 3047 manual - Manfrotto Bogen / 3047 3 Way Pan-tilt question. Bogen 3047 version 3 Bogen 3047 head with hexagonal style Quick release. USED parts are marked as USED, parts not marked as USED are new. A1 Quick Release Plate with 1/4-20 Screw A2 Quick Release Plate with 3/8 Screw A3 Non Rotate QR Plate with 1/4-20 Screw. Bogen 3047 tripod. View & download of more than 1046 Bogen PDF user manuals, service manuals, operating guides. Amplifier user manuals, operating guides & specifications.

vcldevelopervcldeveloper
6,6742 gold badges24 silver badges37 bronze badges

Delphi Programming Download

A little late to the post, but check out Marx Software Security (http://www.cryptotech.com) they have a USB device with RSA & AES on chip, with network based license management.

TomTom

I bought a license for ICE License in 2007. Unfortunatly (as far as I know) the component haven't been updated since June 2007. Back then a Vista compatible version was in the work but never came out of beta. I don't think they updated the component for Delphi 2009 and 2010 yet.

Ionworx is an one man company which might explain the lack of updates and lack of answer to support questions (emailed them 2-3 times since 2007 and never got back to me). They also removed their support forum from their site.

ICE License is better than nothing but I would stay away from this product because the lack of updates & support.

AlexVAlexVApplication
16.3k15 gold badges76 silver badges112 bronze badges

I investigated this a few years ago, and came to the following conclusions:

  • All copy protection can be broken
  • Nag screens on load irritate people to the point where they may stop using the product
  • Random nag screens can interrupt the users work flow to the point where they perceive it to be a reduction in the speed of the application

Set up compiler options, so that you have a version as a demo (perhaps with save functions removed), reduce multi user versions so that only one client can connect at a time (not using, for ex:

but reducing the viability for multiple connections in code)

Mark RobinsonMark Robinson

Themida has good protection, and I think it built with Delphi too ;-)

if you have a better budget, you can look at winLicense and other tools from same company.

Mohammed NasmanMohammed Nasman
9,6976 gold badges39 silver badges66 bronze badges

Have a look at this question which is pretty similar, and includes many of the tools.

Community
mj2008mj2008
5,4772 gold badges32 silver badges53 bronze badges

Take a look at InstallShield. We've been using it for a while ourselves, and it has a lot of capabilities for trial support, licensing, and others. I don't know about key generation off the top of my head as our use doesn't require keys, but there's a lot available to you from them.

Tom ATom A
1,1281 gold badge17 silver badges41 bronze badges

AppProtect wraps an EXE or APP file with computer unique password or Serial Number based online activation. QuickLicense is a more comprehensive tool that support all license types (trial, product, subscription, floating, etc.) and support both a wrapping approach or API to apply the license to any kind of software. Both are available from Excel Software at www.excelsoftware.com.

HaroldHarold

Not the answer you're looking for? Browse other questions tagged delphilicensing or ask your own question.

(Redirected from Delphi (programming language))
Object Pascal
ParadigmImperative, structured, object-oriented, functional (Delphi dialect only), component-based, event-driven, generic
Designed byInitially Apple Computer with input from Niklaus Wirth, and then by Borland International, led by Anders Hejlsberg[1]
First appeared1986; 33 years ago
Typing disciplineStatic and dynamic (dynamic typing through Variants, array of const and RTTI), strong, safe
Filename extensions.p, .pp, .pas
Major implementations
Delphi (x86, ARM), Free Pascal (x86, PowerPC, ppc64, SPARC, MIPS and ARM), Oxygene (CLI, Java, Native Cocoa), Smart Mobile Studio (JavaScript)
Dialects
Apple, Turbo Pascal, Free Pascal (using objfpc or delphi mode), Delphi, Delphi.NET, Delphi Web Script, Oxygene
Influenced by
Pascal, Simula, Smalltalk
Influenced
C#, Genie, Java, Nim, C/AL

Object Pascal is an extension to the Pascal programming language that provides object-oriented features such as classes and methods.

The language was originally developed by Apple Computer as Clascal for the Lisa Workshop development system. As Lisa gave way to Macintosh, Apple collaborated with Niklaus Wirth, the author of Pascal, to develop an officially standardized version of Clascal. This was renamed Object Pascal. Through the mid-1980s, Object Pascal was the primary programming language for early versions of the MacAppapplication framework. The language lost its place as the primary development language on the Mac in 1991 with the release of the C++-based MacApp 3.0. Official support ended in 1996.

Symantec also developed a compiler for Object Pascal for their THINK Pascal product, which could compile programs much faster than Apple's own Macintosh Programmer's Workshop (MPW). Symantec then developed the THINK Class Library (TCL), based on MacApp concepts, which could be called from both Object Pascal as well as THINK C. The THINK suite largely displaced MPW as the primary development platform on the Mac in the late 1980s.

Symantec ported Object Pascal to the PC, and developed a similar object framework on that platform. In contrast to TCL, which eventually migrated to C++, the PC libraries remained primarily based on Pascal.

Borland added support for object oriented programming to Turbo Pascal 5.5, which would eventually become the basis for the Object Pascal dialect used in Delphi. Delphi remained popular on the PC into the late 1990s, and was slowly displaced in the 2000s with the introduction of .NET.

  • 1History
  • 4Compilers
  • 6Sample 'Hello World' programs
    • 6.2Turbo Pascal's Object Pascal
  • 9External links

History[edit]

Apple Pascal[edit]

Pascal became a major language in the programming world in the 1970s, with high-quality implementations on most minicomputer platforms and microcomputers. Among the later was the UCSD Pascal system, which compiled to an intermediate 'p-System' code format that could then run on multiple platforms. Apple licensed UCSD and used it as the basis for their Apple Pascal system for the Apple II and Apple III.

Pascal became one of the major languages in the company in this period. With the start of the Apple Lisa project, Pascal was selected as the primary programming language of the platform, although this time as a 'true' compiler as opposed to the p-System interpreter.

Clascal[edit]

Object Pascal is an extension of the Pascal language that was developed at Apple Computer by a team led by Larry Tesler in consultation with Niklaus Wirth, the inventor of Pascal. It is descended from an earlier object-oriented version of Pascal called Clascal, which was available on the Lisa computer.

Object Pascal was needed in order to support MacApp, an expandable Macintosh application framework that would now be called a class library. Object Pascal extensions, and MacApp itself, were developed by Barry Haynes, Ken Doyle, and Larry Rosenstein, and were tested by Dan Allen. Larry Tesler oversaw the project, which began very early in 1985 and became a product in 1986.

An Object Pascal extension was also implemented in the Think Pascal IDE. The IDE includes the compiler and an editor with syntax highlighting and checking, a powerful debugger and a class library. Many developers preferred Think Pascal over Apple's implementation of Object Pascal because Think Pascal offered a much faster compile/link/debug cycle, and tight integration of its tools. The last official release was Think Pascal 4.01, in 1992, though Symantec later released an unofficial version 4.5d4 at no charge.

Apple dropped support for Object Pascal when they moved from Motorola 68K chips to IBM's PowerPC architecture in 1994. MacApp 3.0, for this platform, was re-written in C++.

Borland, Inprise, CodeGear and Embarcadero years[edit]

In 1986, Borland introduced similar extensions, also called Object Pascal, to the Turbo Pascal product for the Macintosh, and in 1989 for Turbo Pascal 5.5 for DOS. When Borland refocused from DOS to Windows in 1994, they created a successor to Turbo Pascal, called Delphi and introduced a new set of extensions to create what is now known as the Delphi language.

The development of Delphi started in 1993 and Delphi 1.0 was officially released in the United States on 14 February 1995. While code using the Turbo Pascal object model could still be compiled, Delphi featured a new syntax using the keyword class in preference to object, the Create constructor and a virtual Destroy destructor (and negating having to call the New and Dispose procedures), properties, method pointers, and some other things. These were inspired by the ISO working draft for object-oriented extensions, but many of the differences from Turbo Pascal's dialect (such as the draft's requirement that all methods be virtual) were ignored.

The Delphi language has continued to evolve over the years to support constructs such as dynamic arrays, generics and anonymous methods. The old object syntax introduced by Apple ('Old-Style Object Types') is still supported[2].

Versions[edit]

  • Borland used the name Object Pascal for the programming language in the first versions of Delphi, but later renamed it to the Delphi programming language. However, compilers that claim to be compatible with Object Pascal are often trying to be compatible with Delphi source code.[citation needed] Because Delphi is trademarked, compatible compilers continued using the name Object Pascal.
  • Embarcadero Technologies, which purchased Delphi in 2008,[3] sells the DelphiIDE that compiles the Delphi dialect of Object Pascal to Windows and macOS, iOS, Android and Web.
  • .NET support existed from Delphi 8 through Delphi 2005, Delphi 2006 and Delphi 2007, which now has been replaced by another language, Oxygene (see below), which is not fully backward-compatible.
  • The Oxygene programming language developed by RemObjects Software targets the Common Language Infrastructure, the Java (software platform) Runtime Environment and Apple's Cocoa frameworks for iOS and macOS.
  • The open sourceFree Pascal project allows the language to be compiled for a wide range of operating systems—including Linux (32-bit and 64-bit), FreeBSD, Classic Mac OS/macOS, Solaris, Win32, Win64 and Windows CE—as well as for several different hardware architectures. The first version of Free Pascal for the iPhoneSDK 2.x was announced on January 17, 2009.[4] Now there is support for the ARMISA also.
  • The Smart Pascal programming language[5] targets JavaScript/ECMAScript and is used in Smart Mobile Studio, written by Jon Lennart Aasenden and published by Optimale Systemer (2012). The language greatly simplifies HTML5 development through OOP and RAD (rapid application development) approaches. Smart Pascal integrates tightly with established technologies such as node.js, Embarcadero DataSnap and Remobjects SDK to deliver high-performance client/server web applications. The language allows for easy creation of visual components and re-usable libraries. The Smart Pascal dialect stems from the DWScript language- extended to better integrate with the JavaScript environment and libraries, such as 'asm' sections which are plain JavaScript but have access to Pascal symbols, or 'external' classes which map directly to prototypal JavaScript classes. Smart Pascal introduces true inheritance, classes, partial classes, interfaces, a virtual method table and many other advanced constructs which are not a part of JavaScript by default.
  • MIDletPascal is aimed at the Java byte-code platform. Note that Free Pascal targets the JVM as well, with a much richer set of features.
  • The Morfik Pascal programming language developed by Morfik targets Ajax-enabled Web applications. The Morfik compiler is incorporated into the company's AppsBuilder IDE and allows Object Pascal code to be used in implementing code that will execute both in the browser and on the server. It uses the Free Pascal compiler to generate native binaries from Object Pascal.
  • The open source GNU Pascal compiler is available as a front-end to the GNUcompiler collection, which implements the ISO 7185 Pascal standard, and 'most' of the ISO 10206 Extended Pascal standard.
  • Also, a free compiler, Turbo51, is available for producing code for Intel 8051 chips.
  • WDSibyl is an open source Delphi-like IDE and compiler available for Microsoft Windows and OS/2, and is a commercial Borland Pascal compatible environment released by a company called Speedsoft that was later developed into a Delphi like RAD environment called Sybil and then open sourced under the GPL when that company closed down. Wolfgang Draxler (WD) now maintains the software. (The compiler used seems to be located in a DLL and is not open-source).

Compilers[edit]

Object Pascal compilers are available for a wide range of operating systems and architectures.

Windows

  • Delphi is probably the best known compiler. It is the successor of the highly successful Borland Pascal and Turbo Pascal product line. It targets Windows 9x, the Windows NT family, .NET Framework (Delphi 8, Delphi 2005–Delphi 2007), macOS (Delphi XE2 and later), iOS (Delphi XE2 and later, generating native binaries in XE4 and later), Android (Delphi XE5 and later, generating native binaries in XE5 and later). Support for .NET finally became a separate product known as Oxygene (see below).
  • Free Pascal Compiler (FPC) is an open-source Object Pascal compiler that supports many Pascal dialects, including those of Turbo Pascal 7 and Delphi, among others. Currently, FPC can generate code for IA-32, x86-64, PowerPC, SPARC, and ARM processors, and for various operating systems, including Microsoft Windows, Linux, FreeBSD, Classic Mac OS, and macOS (with an Xcode integration kit). Several separate projects exist to facilitate rapid application development with FPC, the most prominent one being the Lazarus IDE.
  • GNU Pascal (A separately distributed part of the GNU Compiler Collection) While not formally aimed at the Delphi dialect of Pascal, it does contain a Borland Pascal compatibility mode, and is very slowly incorporating a few Delphi language features. It is unsuitable for recompiling large bodies of Delphi code directly, but is noteworthy as having prolific support for operating systems and hardware architectures.
  • Oxygene (formerly known as Chrome) is an Object Pascal compiler from RemObjects Software that integrates into Microsoft Visual Studio. It is also available as free command-line compiler that runs native on CLI. It is three compilers in one, each targeting a different platform: Echoes for .NET Framework, Mono, WinRT and Windows Phone 8, Cooper for JDK and Android, and Nougat for iOS and macOS.
  • MIDletPascal is a mobile application development tool that generates Java ME bytecode.
  • PocketStudio is a Pascal-based IDE for Palm OS.
  • Smart Mobile Studio is a compiler that transforms Pascal source code to JavaScript (Source-to-source compiler)
  • Ultibo.org is a free pascal variant which compiles to bare bones Raspberry Pi.

Legacy products[edit]

  • Borland Kylix was a Linux variant of Delphi which only targets Intel 32-bit Linux using the Qt library. It does not work out of the box with most modern Linux distributions.
  • Virtual Pascal was a free 32-bit Turbo Pascal- and Delphi-compatible compiler aimed mainly at OS/2 and Microsoft Windows, although it also developed a DOS+ Extender and an experimental Linux cross-compiler. The compiler's development stopped at about the level of Delphi 2. In 2007, with its official website ceasing to operate, Virtual Pascal was discontinued from being further developed.

Interpreters[edit]

Pascal Script (formerly known as InnerFuse) and DWScript (Delphi Web Script) are open-source Object Pascal interpreters/scripting engines written in Delphi. They support subsets of Object Pascal. DWScript can also compile Object Pascal code into JavaScript code (Smart Pascal), and supports just-in-time compilation. Modern Pascal provides 3 different interpreters: a CLI (Command Line Interface), Apache Module (Celerity) and CodeRunner (node.js like solution capable to handle different scripts per port), besides the ability to compile and protect your script's source.

Sample 'Hello World' programs[edit]

Apple's Object Pascal[edit]

Turbo Pascal's Object Pascal[edit]

Still supported in Delphi and Free Pascal. FPC also packages its own substitutes for the libraries/units. Delphi doesn't. The Free Pascal 1.0 series and the FPC textmode IDE are the largest open codebases in this dialect. Free Pascal 2.0 was rewritten in a more Delphi-like dialect, and the textmode IDE and related frameworks (Free Vision) are the only parts in the TP version of Object Pascal.

Stack based allocation[edit]

Heap based allocation[edit]

Another example:

This is an important distinction to make, and could be seen as one of the key differences that led to the Delphi style of 'hiding' the heap allocation and pointer notation from the programmer. Delphi removed the need for the additional Pointer type and pointer syntax, but retained the explicit construction mechanism.

Delphi and Free Pascal's Object Pascal[edit]

Note that the object construct is still available in Delphi and Free Pascal.

Modern Pascal's Object Pascal[edit]

Oxygene Object Pascal[edit]

DWScript's Object Pascal (a.k.a. Smart Pascal)[edit]

Note that the method implementation can also be made in a distinct location as in other Object Pascal dialects.

Development[edit]

Many features have been introduced continuously to Object Pascal with extensions to Delphi and extensions to FreePascal. In reaction to criticism, Free Pascal has adopted generics with the same syntax as Delphi, provided Delphi compatibility mode is selected, and both Delphi (partially) and Free Pascal (more extensive) support operator overloading. Delphi has also introduced many other features since version 7[6] including generics. Whereas FreePascal tries to be compatible to Delphi in Delphi compatibility mode, it also traditionally introduced many new features to the language that are not always available in Delphi.

References[edit]

  1. ^Gibson, Steve (May 8, 1989). 'Borland and Microsoft Enter the Object-Oriented Pascal Ring'. Infoworld. p. 28.
  2. ^Lischner, Ray (2000). Delphi in a nutshell: a desktop quick reference (1st ed.). Sebastopol, CA: O'Reilly and Associates. ISBN1565926595.
  3. ^Community Letter: Embarcadero Technologies agrees to acquire CodeGear from Borland. Edn.embarcadero.com. Retrieved on 2013-07-21.
  4. ^'iPhone/iPod development'. Free Pascal development team. Retrieved 2009-04-13.
  5. ^'A Smart Book'.
  6. ^'New Delphi language features since Delphi 7'. CodeGear. Retrieved 2008-07-06.

External links[edit]

Delphi Diagnostic Free Software Download

  • Introduction to Object Pascal, MacTech Vol 2 Issue 12 1985.
  • Object Pascal reference guide for Free Pascal. 'The aim is to list which Pascal constructs are supported, and to show where the Free Pascal implementation differs from the Turbo Pascal or Delphi implementations.'
    • Free Pascal: Reference guide, Reference guide for Free Pascal, version 2.0.0
  • Think Pascal 4.5 Unofficial page about Symantec's final version of Think Pascal.

Delphi Application Software 2017

Delphi[edit]

  • Object Pascal Language Guide Covering Borland Delphi 6-7
  • Delphi Basics, Resource of Delphi Project Source Codes.
  • Delphi Programming, Resource of Delphi Programming & Delphi Programming Forums.
  • Delphi Programming Helper - An app that contains references and help for Pascal/Delphi.

Delphi Software Download

Retrieved from 'https://en.wikipedia.org/w/index.php?title=Object_Pascal&oldid=914570179'