Tool&Task timepunch()

TimePunch()is a function which exists in all executables of the Tool&Task program. Whereever we need information about the flow of a program, TimePuch lines are included.

This subroutine receives a string = the information and a 3 letter marker for the executable file which produced the line. This is necessary, since the dlls have only one implementation of the code in homer.dll. Firstly, the function checks whether the TimePunch system is switched on. You can do this using m_sysdef page Common

Please only do it, if you and we are chasing an Error and you are told to put the system on. If takes a lot of time and produces many lines of output (automatically deleted by tidy_up_temp()).

When the global gTimePunch is 1 (1 is 'ON'), this function checks for a file fox_dll.txt in <gUserDataTT>TEMP\. If it is not there it is created. Finally a line is inserted stating with a time_stamp, the amount of memory used by tt.exe, and the text transferred by the calling routine


Exmple of a TimePunch output when Tool&Task is started and closed without any further action. (these lines may change with future versions of Tool&Task e.g. after integration of tt_64.exe )

13:39:59.0004 hom: 31617248 initializing dll - synchronize timing 13:39:59.0030 hom: 31908064 C:\Homer Gmbh\homertask\tt_64.exe 13:39:59.0206 hom: 34476272 EventGo was set successfully 13:39:59.0368 hom: 34472560 C:\Homer Gmbh\homertask\tt_64.exe PID = 60 13:39:59.0371 hom: 34472560 leaving buildbridge without error 13:39:59.0379 T&T: 34476656 bridge started in 0.687 seconds 13:39:59.0382 T&T: 34476656 Process handles: Tool&Task: 1468, tt_64.exe: 60 13:39:59.0385 T&T: 34476656 dll is initialized for 64 bit 13:39:59.0388 T&T: 34476656 OPN: Tool&Task session 13:39:59.0392 T&T: 34476656 Program has asInvoker privileges 13:39:59.0410 hom: 34587608 executing 'route print' 13:39:59.0811 hom: 35267920 finished normally, in 2335 Bytes, out 2335 Bytes 13:39:59.0815 hom: 35280208 [Terminated normally in 0.05 seconds] 13:39:59.0939 T&T: 35280208 FoxPro received 2374 bytes - CopyDone=1 13:39:59.2811 hom: 35279680 CriticalSection 'gCopySec' was deleted by thread 13:40:09.5018 T&T: 35603224 OPN: m_watchfile


Behind the time stamp, there are three letters to tell where the entry comes from: T&T is tt.exe, hom represents homer.dll, hg2 homerg2.dll, b64 tt_64.exe, ho2 homer2.dll.

Some lines are shortened a bit to fit into a row. Firstly, Tool&Task was started and homer.dll (hom) included. This dll opened tt_64.exe. Then tt.exe receives a report from homer.dll and responds to the dll (bridge started in 0,687 seconds).

In case of a real problem with a program which you experienced, additional lines might be included or the lines are already there since the probelm does not occur for the first time. Sometimes, they are not removed and hence, you might have verbose program reports, where no problem is expected momentarily. Once in a while, a couple of lines are removed.

The amount of memory tt.exe has in use is not reproducable. It depends on the memory you have and the amount used by other programs. Nevertheless, it is helpful to see whether it is pretty constant e.g. when dll procedures run repeatedly. And when you get a linear increase after each call of a routine, we'll check for the memory allocated and not released.


Assume, they have such a report running in the background and transfer it to find out, which routines are mainly used!


No, certainly not. We will never take any information on the sly before asking your ok! In any case, you can see every single character of a text to be sent. We might pack or code it for the transfer over the Internet but nothing will ever be added. There are also cases where a code (e.g. password) is transmitted and it is not legible. Nevertheless, you will see how many bytes the program transferred and can imagine whether this meets the expectations. We know, there are programs pretending to ask for a new version by sending a MegaByte and we hate it.