Mauro Venturini

Send e-mail to this Author

  • unlimited number of local/remote databases for backup
  • unlimited number of Windows/Linux servers (FB 2.1, 2.5, 3.0 and 4.0 are supported)
  • option for managing multiple backups for one database
  • optional ZIP compression and FTP transfer of backups
  • running as an application or as a service
  • lifetime license only USD 40
Author Products

Total 17 products

Aspects in .NET and Delphi v.1.3

.NET > Miscellaneous > Other

By Mauro Venturini.

Freeware + source 19 Apr 2005

Description

There are a new buzzword in software: Aspects. It seems Aspects will be the next big thing after objects. Therefore, papers flocks, see for examples: The Sarathy paper was stimulating but the sample used C#. As whatever you can do in C# you can do in Delphi, only better, author rewrite the sample. Then he added something to pre method join-points and class sinks: post method join-points, object sinks, some configurability, all in a small assembly.

Informations

  • Status: Fully functional
  • Source: Included
  • Exe demo: included
  • Size: 166kB

Platforms: D2005

BackgroundWorker V1.1

.NET > System > Threads

By Mauro Venturini.

Freeware + source 20 Jun 2005

Description

Windows Forms applications often require some sort of asynchronous invocation option. .NET 2.0 provides the BackgroundWorker component to facilitate easy asynchronous invocation with Windows Forms.

Waiting for it this is a Delphi.NET BackgroundWorker component implementation based on .NET 1.1.

Informations

  • Status: Fully functional
  • Source: Included
  • Exe demo: included
  • Size: 39kB

Platforms: D2005

BorderExtender v.1.1

Components > Forms > Effects

By Mauro Venturini.

Freeware + source 10 Dec 2004

Description

WinForms components normally only have FixedSingle, Fixed3D and none border styles. The results are very out of fashion forms, expecially with Win 2K.

The funny thing is that .NET WinForms provides a class (ControlPaint) that can draw nice looking borders. Why they did not used it for the components is a mistery. Anyway, using an extender provider something can be done (see demo project and form image).

Unfortunately, different components behave differently (combo boxes do not even have border style property!) so some experimenting is required to obtain better looking forms.

Informations

  • Status: Fully functional
  • Source: Included
  • Exe demo: included
  • Size: 57kB

Platforms: D2005

Deriver v.1.0

Components > System > Instance

By Mauro Venturini.

Freeware + source 24 Feb 1997

Description

Polymorphic Creation of Instances, that is a way to create an instance whose class type depends on run time parameters.

Informations

  • Status: Fully functional
  • Source: Included
  • Size: 15kB

Platforms: D1, D2

DILMerge v.4.1

.NET Tools > Developer Tools > Other

By Mauro Venturini.

Freeware + source 17 Dec 2005

Description

Delphi tradition was to generate a single executable but when strong reasons requested separated run time packages.

With .NET things are different: a typical .NET application consists of an executable assembly, a bunch of assemblies in the program directory*, and a bunch of assemblies in the GAC.

Now, ok for the GAC, we have been used to system DLLs for a long time, but that DLLs around the executable look so VBish...

Really MS has a assembly linker, ILMerge. ILMerge is a command line tool and its use is a bit akward, so I made a Delphi oriented GUI for it: DILMerge.

DILMerge get a BDS Delphi or C# project, extract and show a list of assembly references and suggest which merge together. If necessary the list can be adjusted or manually constructed and the ILMerge options tweaked before merging the assemblies and generating a good old single file executable.

Informations

  • Status: Fully functional
  • Source: Included
  • Size: 1 986kB

Platforms: D2005, D2006

E_P

Applications in Delphi and BCB > Files and Drives > Other

By Mauro Venturini.

Freeware 20 Oct 1999

Description

The old Windows 3.x File Manager was polite enough to ask if you really wanted to do that 1 GByte directory tree move you just happened to start with a mouse drag. Some genius (!?) at Microsoft decided that this was a useless function and removed it from the Windows Explorer of Windows 95 and NT 4.0, even on the folder tree view (left panel). This small utility sits on the task bar and optionally disable mouse drag on the folder tree view.

Informations

  • Status: Fully functional
  • Source: None
  • Size: 287kB

Platforms: NT4, W95, W98,

Multicast delegate asynchronous extensions v.1.2

.NET > System > Threads

By Mauro Venturini.

Freeware + source 21 Jul 2005

Description

Multicast delegates are a powerful idea but...
  • with normal invocation all the targets are executed sequentially before returning control to the caller that is good only if they are short and fast;
  • BeginInvoke provides asynchronous execution but supports unicast delegate only;
  • no synchronisation of any kind is done on target execution;
  • This delegate helper class greatly extends their asynchronous call capabilities.

Informations

  • Status: Fully functional
  • Source: Included
  • Exe demo: included
  • Size: 52kB

Platforms: D2005

OverRuler v.1.1

.NET > Tools > Other

By Mauro Venturini.

Freeware 20 Aug 2005

Description

There are many 'screen ruler' application around. Some of them support transparency. OverRuler is so transparent that the mouse can go through it and interact with the application under it, that is OverRuler window is not a filled rectangle but a spidery set of lines superimposed to the background. Moreover, OverRuler can use any number of cursors/guides and can autoadapt to the extents of any window on the screen.

Informations

  • Status: Fully functional
  • Source: Included
  • Size: 115kB

Platforms: D2005

ParamSync v.1.2

Components > System > Threads

By Mauro Venturini.

Freeware + source 24 Feb 2003

Description

The TThread.Synchronize causes a method to be executed using the main thread, thereby avoiding multi-thread conflicts (expecially on the VCL). Unfortunately it only supports parameterless methods. This unit provides techniques to extend this to methods with parameters.
  • Any method of a thread derived from TParamThread can be synchronized to the main thread using ParamSynchronize.
  • Any method executed inside any thread can be synchronized to the main thread using the Execute method of TParamSynchronize. It can be accessed directly (it is a class method) or creating a TParamSynchronize object (a singleton).
  • With some limitation about parameter types a thread derived from TParamThread can launch one of its method using ParamAsynchronize and go on without waiting for its completion.
  • With some limitation about parameter types a any thread can launch any method using the Execute method of TParamAsynchronize and go on without waiting for its completion.
In the last two cases the method execution is delegated to a server thread and the execution can be synchronized or not to the main thread.

Informations

  • Status: Fully functional
  • Source: Included
  • Size: 9kB

Platforms: D7

SMPManager v.1.0

Applications in Delphi and BCB > Communications > Ports and Modems

By Mauro Venturini.

Freeware 16 May 1998

Description

SMPManager manages the self-mode of the US Robotics Sportster Message Plus modem as you did with your old answering machine. You have to revert to the original (and cumbersome) software package only to view received faxes and for other more complex functions.

Informations

  • Status: Fully functional
  • Source: None
  • Size: 194kB

Platforms: NT4, W95,

SystemT v.1.0

.NET > Miscellaneous > Other

By Mauro Venturini.

Freeware 09 Feb 2005

Description

.NET framework is nice indeed. I like it, and I am a Delphi "integralist".

Unfortunately, someone in MS decided that interface name prefix 'I' is good but class name prefix ('T' or 'C') it is not. This has unpleasant consequences.

  • It decreases code clarity, e.g. is that a class or an instance reference?
  • It makes often necessary to use the full type name because of clashing with some property, e.g. every form has a DialogResult property so if you want to test for a DialogResult type value you end up writing "if AForm.DialogResult = System.Windows.Form.DialogResult.OK then"
  • It makes instance naming a pain, e.g. as I can not call it Graphics should I call it AGraphics, MyGraphics, _Graphics, argh! C# chaps have a case-sensitive solution: they uncapitalize the instance names, e.g. Graphics graphics = new Graphics; Very readable indeed! Not to mention the problem if the instance is visible outside the assembly (.NET in general is NOT case-sensitive).
Delphi has the solution: type equivalence, e.g.
type
TGraphics = System.Drawing.Graphics;

var
Graphics: TGraphics;

The type equivalence definitions for the .NET framework can be generated automatically using a tool as PrefixIt! and a package built from them: SystemT.dll.

Now to use inside your application or package these new names for the .NET framework types you have to:

  • Add a reference to SystemT.dll package removing both the "Copy Local" and the "Link in Delphi Units" options;
  • For every namespace "N" that you want to use inside a unit add "N" AND "N".T to the uses clause.
That's all.

Informations

  • Status: Fully functional
  • Source: None
  • Size: 750kB

Platforms: D2005

TEventLog v.1.1

Components > Files and Drives > Log Files

By Mauro Venturini.

Freeware + source 17 Aug 1999

Description

Any decent Windows NT/2000 application should use event logging. As usual Windows API are a bit intimidating but after this component there are no excuses. Just drop it and use Add method.

Informations

  • Status: Fully functional
  • Source: Included
  • Size: 162kB

Platforms: D4

TMessage Socket v.1.1

Components > System > Apps Communications

By Mauro Venturini.

Freeware + source 05 Jan 1998

Description

This component wrap the wm_CopyData message usage. So sending and posting messages between processes becames much more easier.

Informations

  • Status: Fully functional
  • Source: Included
  • Exe demo: included
  • Size: 201kB

Platforms: D2

TrayAreaInjector v.1.3

Applications in Delphi and BCB > Desktop > Enhancements

By Mauro Venturini.

Freeware + source 24 May 2005

Description

Using TrayAreaInjector a client application can inject into the Windows Task Bar a panel similar to the tray area and then dynamically add, remove and modify subpanels inside it. Every subpanel contains a text caption and an image from a list. TrayAreaInjector was developed to offer an immediate status feedback from some Open Tools plugins but can be used for any similar purpose.

Informations

  • Status: Fully functional
  • Source: Included
  • Size: 557kB

Platforms: NT4, W2K, W2K3, XP,

TTrimmingLabel v.1.0

Components > Labels > Enhanced Labels

By Mauro Venturini.

Freeware + source 02 Jan 2005

Description

TTrimmingLabel is a Windows Forms label that can trim the Text string to adapt it to the available Width. The trimming is controlled by the Trimming property (of type System.Windows.Forms.StringTrimming).

Informations

  • Status: Fully functional
  • Source: Included
  • Size: 2kB

Platforms: D2005

UnhandledExceptionManager for .NET v.2.3

.NET > System > Other

By Mauro Venturini.

Freeware + source 02 Jun 2006

Description

When a .NET application hits an unhandled exception the default behaviour is to show a very poor dialog. Therefore, it is (or should be) common practice to hook UnhandledException event of the current AppDomain and ThreadException event of Application.

Unfortunately, there are security restrictions on these hookings that prevent their direct use inside application that will be run without full trust (and even Local Intranet group does NOT have full trust).

A solution is to delegate the hookings to a full trusted assembly inside the GAC and reference it. UnhandledExceptionManager is an assembly that implements the technique. Version 2 supports also delayed binding usage that reverts to reduced functionality when UnhandledExceptionManager assembly is missing (and in doing so evidences the problem).

Informations

  • Status: Fully functional
  • Source: Included
  • Size: 262kB

Platforms: D2006

XSGen v.1.0

.NET Tools > Code > Code Generators

By Mauro Venturini.

Freeware 23 Sep 2005

Description

.NET XmlSerializer is a nice class: it can serialize and deserialize almost anything almost anyway, and the serialization is quite fast too. Unfortunately, no lunch is free: during the first constructor invocation for a target type XmlSerializer create and compiles a C# assembly with the serialization code tailored to the target type. That's a lot of overhead, both in memory and execution time, that happens every time your application runs. Microsoft recognised the problem and .NET 2.0 includes an utility (SGen) that executes offline steps 1, 2 and 3 and produces the serialization / deserialization assembly. But .NET 2.0 is not here yet and SGen is a not very friendly command line utility. Here comes XSGen that produces offline the serialization / deserialization assembly required for a given target type, works now with .NET 1.1 and integrates with the Delphi 2005 IDE to make the process as easy as possible.

Informations

  • Status: Fully functional
  • Source: None
  • Size: 260kB

Platforms: D2005