Jump to content
David Dyck

software research - looking for Delphi5 logging tool SilentDD

Recommended Posts

I asked this question over in Stack Overflow - and was given a helpful hint from

 to ask here.

Question: Looking for the distributor, sources, documentation, and/or licenses for SilentDD.exe ( an automation tool that supports logging from Delphi )

I'm trying to maintain some ancient code that uses

unit SilentDD_TLB;

and I am searching for where SilentDD.exe that was part of this package may have come from. I've run strings on the .exe and the only name that I've found was the author of a library that was used ( hello to Mike - author of the TThemeManager component for Borland Delphi ).

I understand that SilentDD.exe was an automation server that supported logging, and the .exe was shipped with the product in the past, but I am very uncomfortable using an unknown .exe, never mind shipping said .exe to customers.

The unit was generated from a type library file that is no longer around called SilentDD.tlb that long-gone (like mid-2004) developers had placed in their D:\Borland\Delphi5\ThirdParty folder

It unit documents some interfaces

 

  IAutoSilentDD = interface(IDispatch)
    ['{8A241F3E-0403-4A97-9228-3527711C96A4}']
    procedure LogMessage(const AKeyword: WideString; const AMessage: WideString); safecall;
    procedure LogFile(const AKeyword: WideString; const AFilename: WideString); safecall;
    function IsAppUsing(const AppKeyword: WideString): WordBool; safecall;
  end;

and

  IAutoSilentDDDisp = dispinterface
    ['{8A241F3E-0403-4A97-9228-3527711C96A4}']
    procedure LogMessage(const AKeyword: WideString; const AMessage: WideString); dispid 203;
    procedure LogFile(const AKeyword: WideString; const AFilename: WideString); dispid 204;
    function IsAppUsing(const AppKeyword: WideString): WordBool; dispid 207;
  end;


This post is hidden. It was automatically deleted 1 year ago by CommunityBot.
Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.

 

We don’t allow questions seeking recommendations for books, tools, software libraries, and more. Edit the question so it can be answered with facts and citations. You can edit the question or post a new one.

Closed 1 year ago.

 

Question: Looking for the distributor, sources, documentation, and/or licenses for SilentDD.exe ( an automation tool that supports logging from Delphi )

I'm trying to maintain some ancient code that uses

unit SilentDD_TLB;

and I am searching for where SilentDD.exe that was part of this package may have come from. I've run strings on the .exe and the only name that I've found was the author of a library that was used ( hello to Mike - author of the TThemeManager component for Borland Delphi ).

I understand that SilentDD.exe was an automation server that supported logging, and the .exe was shipped with the product in the past, but I am very uncomfortable using an unknown .exe, never mind shipping said .exe to customers.

The unit was generated from a type library file that is no longer around called SilentDD.tlb that long-gone (like mid-2004) developers had placed in their D:\Borland\Delphi5\ThirdParty folder

It unit documents some interfaces

  IAutoSilentDD = interface(IDispatch)
    ['{8A241F3E-0403-4A97-9228-3527711C96A4}']
    procedure LogMessage(const AKeyword: WideString; const AMessage: WideString); safecall;
    procedure LogFile(const AKeyword: WideString; const AFilename: WideString); safecall;
    function IsAppUsing(const AppKeyword: WideString): WordBool; safecall;
  end;

and

  IAutoSilentDDDisp = dispinterface
    ['{8A241F3E-0403-4A97-9228-3527711C96A4}']
    procedure LogMessage(const AKeyword: WideString; const AMessage: WideString); dispid 203;
    procedure LogFile(const AKeyword: WideString; const AFilename: WideString); dispid 204;
    function IsAppUsing(const AppKeyword: WideString): WordBool; dispid 207;
  end;

My only other clues are gained by extracting the .ridl file using tlibimp -I SilentDD.exe where tlibimp is Embarcadero TLIBIMP Version 12.16581

 

Quote

[
  uuid(AABB2703-DEE9-4FB5-A657-2BB0F9E9C337),
  version(1.0),
  helpstring("SilentDD Library")

]
library SilentDD
{

  importlib("stdole2.tlb");

  interface IAutoSilentDD;
  coclass AutoSilentDD;


  [
    uuid(8A241F3E-0403-4A97-9228-3527711C96A4),
    version(1.0),
    helpstring("Dispatch interface for AutoSilentDD Object"),
    dual,
    oleautomation
  ]
  interface IAutoSilentDD: IDispatch
  {
    [id(0x000000CB)]
    HRESULT _stdcall LogMessage([in] BSTR AKeyword, [in] BSTR AMessage);
    [id(0x000000CC)]
    HRESULT _stdcall LogFile([in] BSTR AKeyword, [in] BSTR AFilename);
    [id(0x000000CF)]
    HRESULT _stdcall IsAppUsing([in] BSTR AppKeyword, [out, retval] VARIANT_BOOL* Value);
  };

  [
    uuid(E6147C97-63CF-4691-9BBA-190015CA1177),
    version(1.0),
    helpstring("AutoSilentDD Object")
  ]
  coclass AutoSilentDD
  {
    [default] interface IAutoSilentDD;
  };

};

Share this post


Link to post

It appears to have been for simple logging ( taking a keyword and a string) , but I wanted to observe and reproduce what the code was doing before refactoring the code that called it.
There may have been a need to do remote logging using OleAutomation

Share this post


Link to post

COM tools of that sort from that era using type libraries were usually aimed at Visual Studio projects, specifically Visual Basic, even if written in Delphi.  It was a way of extending the language with features difficult to code in Visual Basic.  Also, VBScript used for ASP web applications. 

 

Not sure if that will help your searches for the product...

 

Angus

 

Edited by Angus Robertson

Share this post


Link to post

Thanks for the replies, I had not got to the wayback machine for this search, since I assumed that I needed a URL.
it turns out that they do have a software search though it didn't come up with any hits from silentdd.exe

The VBScript though led me to do some other searches and I found an internal script of unknown quality that called it like this

    Dim SilentDD
    Set SilentDD = CreateObject("SilentDD.AutoSilentDD")
    SilentDD.LogFile "Test.VBS", ReportFilename, True

It does look like at least part of the tool was build with Borland tools, since examining the binary .exe finds these strings:

$ strings    silentdd.exe | grep -iP 'borland|delphi'
SOFTWARE\Borland\Delphi\RTL
Software\Borland\Locales
Software\Borland\Delphi\Locales
Delphi Picture
Delphi Component
Delphi%.8X

Share this post


Link to post

There is always possibility, that it was old internal utility created by some developer.

Share this post


Link to post

Generally if the EXE properties don't have some information like company and product names along with a date or two it was probably an internal tool. 

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×