banner banner Skip to main content

DLL Collection, its Attributes and Usage

Tally now provides a TDL interface to obtain data sets in Collection from external Plug-Ins. These
Plug-Ins are written as DLL’s which can be used to fetch external data (i.e., from Internet, external Database, etc.). These DLL's should return a valid XML which can be easily mapped into TDL
Collection. In other words, TDL developer can provide a simple string value and/or XML to the
DLL function. The DLL gives XML data as an output. Collection takes this data and converts it into
objects and object methods, which can be accessed in TDL like other objects.

DLL collection will be very useful in the following scenarios

1. To display stock quotes from the internet
2. To get data from different formats like CSV, HTML
3. External device interfaces
4. RFID Barcode scanner
5. Petrol Pump device interface
6. Foot fall count
7. External application interfaces
8. GAS distributor application
9. To get attendance details in Pay Roll through swipe

In DLL collection, support is being provided for Plug-Ins and ActiveX-Plug-Ins.


  • Plug-Ins: DLLs created using C++ or VC++. These DLLs need not be registered separately.
  • ActiveX Plug-Ins: DLLs created by using VB6, VB.Net, C#.Net, etc. These DLLs have to be registered. Registration process has been explained in detail later.

At present, the ‘Collection’ definition allows working with a C++ DLL, VB DLL, .Net DLL, etc.,
which has a function defined by the name TDLCollection (The function has to be created by this
name ONLY). This function delivers an XML which is available as objects in the Collection.

Popular posts from this blog

Tally ODBC Driver Issue

Based on the Operating System bit (32/64) Tally has given the Exe. However the Micro Soft Excel application should be compatible to O/S and Tally.ERP9. Please note, On 64 Bit OS and 64Bit Tally.ERP9, a 32 Bit Excel application can act as a server with following steps. Please download from the Portal- ‘Microsoft Access Database Engine 2010 Redistributable’.  1. Install AccessDatabaseEngine_x64.exe Installed (steps given below separately.) 2. Excel 32 Bit (Excel 2003) Installed – and acting as server 3. Tally 64 Bit As Client –                      with ODBC Driver [ODBC: "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=C:Tally.ERP 9 4.5 Build 7Sample Data.xls;"] and  Tally 32 Bit as Client – with ODBC Driver [ODBC : "Driver={Microsoft Excel Driver *.xls)};DBQ=Sample Data.xls"] This will resolve the problem by NOT upgrading MS Office to 64 bit. you can continue using 32 bit application of Excel.

LOG In function

During expression evaluation, intermediated values of the expression can be passed to calculator window and a log file ‘tdlfunc.log’ inside the application directory. This is very much helpful for debugging the expression. By default, logging is enabled inside the function. Syntax LOG : < Expression> Where, is the expression whose value needs to be passed to the calculator window. [Function : GetCurrentUserApprovelAmt] Parameter : PsvCurrentUser : String Variable : ApprovelAMT : Amount Return : Amount  10 : Walk Collection : ApprovelRequredColl  11 : If : $CustVAUser =  ##PsvCurrentUser  12 : Set : ApprovelAMT : $ApprovelAmount  12A : Log : ##ApprovelAMT  13 : End If  14 : End Walk  15 : Return : ##ApprovelAMT

Differences between Applications and DLLs

Differences between Applications and DLLs Even though DLLs and applications are both executable program modules, they differ in several ways. To the end user, the most obvious difference is that DLLs are not programs that can be directly executed. From the system's point of view, there are two fundamental differences between applications and DLLs: An application can have multiple instances of itself running in the system simultaneously, whereas a DLL can have only one instance. An application can own things such as a Stack, Global memory, File handles, and a message queue, but a DLL cannot.