Mega Code Archive

 
Categories / Delphi / Ide Indy
 

Five (or seven) of the best tools for Delphi

Title: Five (or seven) of the best tools for Delphi Question: From time to time (if we have time) I have been asked, which are the best tools beside delphi, for example to design a OO-database or to make calls between instances or units visible. Answer: On the other side, it's difficult to find tools we don't know they exists. Anyway, I want to start with that article to make a very short introduction to keep you informed that such best tools with delphi/kylix exist and what they solve. But before we start, here?s the disclaimer. Each tool is a complex and fully-featured product (not a component), and a review such as this can only scratch the surface, and try to give you a motivation of what the following tools are and what they can do. By the way, Delphi is not a language it's the product so ObjectPascal IS the language and is getting more and more engineers around the world with the products Delphi, Kylix and Virtual Pascal! ;) b0. maXbox maXbox is a scripter tool with an inbuilt delphi engine in one exe! It is designed for teaching, test and analyzing methods and algorithms and runs under Win and Linux (CLX) to build Delphi in a box. maXbox is based on RemObjects Pascal Script, the smart evolution of programming. Now in Version 2.7 with include-file, event handler, printing, drag n'drop, math lib, code completion and DLL support. (see also b5) http://www.softwareschule.ch/maxbox.htm b1. Bold for Delphi/b The product Bold for Delphi (Enterprise R3.0-D5, release 3.0.1.9), provides a model-driven software development environment for Delphi developers. It means that developers can design their applications using UML (the class-diagram), and Bold will help to build a system right from the model. Bold is designed to implement 'business object logic?. The point is that many business applications are basically the same: GUI front end, logic-based middle layer, and a database at the back end to make things memorizable. So a lot amount of duplication of design, and probably duplication of code as well. It would be very useful if there was some sort of framework to help you implement multi-tier business solutions. Bold is that framework and their product recently gained Software Development?s Productivity Award, and it is being used in the Swedish (it's a Swedish Product) and French parliaments, US government departments, also the Swiss tax authorities among many others. http://www.boldsoft.com b2. ModelMaker/b ModelMaker 6.1 represents a new way to develop classes and component packages for Delphi (1-6). ModelMaker is a two-way class tree oriented productivity, refactoring and UML-style CASE tool specifically designed for generating native ObjectPascal code (in fact it was made using Delphi and ModelMaker). Delphi's ObjectPascal language is fully supported by ModelMaker. From the start ModelMaker was designed to be a smart and highly productive tool. It has been used to create classes for both real-time / technical and database type applications. ModelMaker has full reverse engineering capabilities. It supports drawing a set of UML diagrams and from that perspective it looks much like a traditional CASE tool. The key to ModelMaker's magic, speed and power however is the active modeling engine which stores and maintains all relationships between classes and their members. A unique feature, currently not found in any development environment for Delphi, is the support for design patterns. A number of patterns are mplemented as 'ready to use' active agents. It's the 100% UML-Tool which works with so tightless with Delphi. http://www.delphicase.com b3. AQTest/b AQtest, the complete application testing system from AutomatedQA, means automated support for functional, unit, and regression testing in one easy to use and totally flexible package. AQtest brings testing out of the Dark Ages (that's what they say;). AQTest is the only true test automation and management tool for Delphi applications (That's true). It is written in Delphi and boasts several industry firsts, especially a uniquely flexible, user-oriented approach. With AQtest, you test your own way, with scripts or Delphi code written your own way, and test reports organized to your own needs. AQtest gives external test scripts access to all onscreen VCL elements, with their properties and even their methods. Optionally, it gives access to all published elements of the Delphi application under test, and optionally again it gives scripts practically the same access to application internals as the Delphi IDE has. Start using AQtest, and you'll be able to make every test run into a contribution to development. AQtest can keep a project on schedule and on spec, the team confident and the work 100% productive. For example DelphiScript support is built into AQTest. It's a highly recommended tool that comes out of the box with 19 profilers (We use it). The two that we are interested in most, is "listing unused units", and "identifying who calls what method" are included. (The method call profiler display its info through a diagram. so a fantastic cool tool.;) http://www.automatedqa.com b4. MetaBASE/b MetaBASE makes it possible for the Delphi development platform to access the relational data model in a 100% object-oriented manner. MetaBASE supports the program development process on all common SQL servers, such as Oracle, Sybase, Watcom and InterBase. The metalayer enables an easy port of applications between different 'flavors' of RDBMS. The client developer always has full details of the underlying data structure. High speed application development is ensured, even when the data model reaches an acute level of complexity. MetaBASE provides Visual Components (VCLs) that are data model aware. The data model itself is stored as an object stream and can be accessed throughout the application's development and runtime phase. MetaBASE allows the programmer to ?Drag and Editor Drop" entities, relations, attributes and their extensions as indices into the Delphi environment. This is accomplished with almost zero manual code writing. Application development has reached a new dimension and the programmer can concentrate on the 'real' programming task. http://www.gssoft.ch b5. RemObjects PascalScript/b PascalScript is a free scripting engine that allows you to use most of the ObjectPascal language within your Delphi projects at runtime. Written completely in Delphi, it's composed of a set of units that can be compiled into your executable, eliminating the need to distribute any external files. We are happy to announce that Carlo Kok (formerly Innerfuse Pascal Script) has joined RemObjects Software, and that as of today PascalScript has been merged and improved into the product line of RemObjects Software, Inc. PascalScript (PS) has a bright future so an ex. of real life: With the release of V0.845 of X-Force, which will be soon available, there will be extensive changes in the script language X-Script. The special for X-Force developed script language will be replaced by the extensive and flexible PS by Carlo Kok (www.remobjects.com). With only one code line you can import an excisting Delphi function in PS and could be called from there. PS supports the direct interaction with Delphi objects and records so that the expansion will be easier in the future. The script engine never calls Application.ProcessMessages by itself, so your application may hang, while the script is running. To use the component version of PascalScript, you must first place it on your form or data module, set or assign the script property, call the compile method and call the execute method. A scripting engine allows an end user to customize an application to his or her needs without having to recompile it. In addition, you can update your applications by just sending a new script file. The TPSScript component allows you to embed the interpreter into your Delphi, Kylix or C++ Builder application, so you can extend and customize the application without having to recompile it. The script engine never calls Application.ProcessMessages by itself, so your application may hang, while the script is running. To use the component version of PascalScript, you must first place it on your form or data module, set or assign the script property, call the compile method and call the execute method. http://www.remobjects.com You can enlarge the functionality with the RemObjects SDK: The RemObjects SDK 3.0 is the award winning remoting framework for Delphi, Kylix and .NET. It allows you to remotely access objects residing on a server from clients inside a LAN or across the Internet. It supports object pooling, asynchronous invocation, compression, encryption, and a variety of protocols such as TCP/IP, HTTP, UDP, POP3/SMTP, NamedPipes, etc. It includes the RemObjects Service Builder and allows you to expose your services as SOAP web-services. ++++++++++++++++++++++++++maXbox++++++++++++++++++++++++++ maXbox is a scripter tool with an inbuild delphi engine in one exe! It is designed for teaching, test and analyzing methods and algorithms and runs under Win and Linux (CLX) to build Delphi in a box. maXbox is based on RemObjects Pascal Script, the smart evolution of programming. Now in Version 2.5 with include-file, event handler, printing, drag n' drop and DLL support. http://www.softwareschule.ch/maxbox.htm b6. FreeVCS/b Although many developers think of a version control system (VCS) as an expensive, complex, hard to use tool for a big development shared with many users (they are right for some systems) it may also be a very useful and handy help for the stand alone development of a small application or a component. Have you ever modified a module from a working application to make the thing's going better or faster and after a while nothing will work as you expected (or will not work at all)? Have you ever had 10 directories with different source version and no idea which one holds the change you are searching for? Have you ever started a faulty application from the IDE without backing up your source files? Have you ever lost one of your source files? When you use FreeVCS, your files and projects are stored compressed in a local or remote database (the version archive). FreeVCS uses an open source application server, scaleable from Two-Tier DBISAM to Three-Tier Oracle, Interbase 5/6, MSSQL or Informix for this. http://www.freevcs.de/ b7. PascalAnalyzer/b The purpose of Pascal Analyzer is to generate reports that give information about your source code. Currently there are 38 reports that are generated for normal Pascal Analyzer projects, and 4 reports that are generated for multi-projects. These reports are categorized in 5 report groups: - General - Metrics - Reference - Class - Control www.peganza.com Borland anounces to ship ModelMaker with Delphi 7 Enterprise Use ModelMaker visual modeling based on UML technology to develop your applications efficiently, and add interactive content to Web sites by visually building dynamic server-side HTML Web applications with AToZed Software IntraWeb. DataSnap technology (formerly MIDAS) now delivers royalty-free scalable middleware drivers for creating multi-tier enterprise-class database solutions. And with the included Borland Kylix 3 for Delphi environment, take your Windows applications cross-platform to Linux for increased ROI.