Vd General versions
This document contains version information for the vdGeneral library.
Bugs/list of new ideas:
Version 1.25.107.98 (2006-02-01 TW):
VdMulticonnect:
- Added separate monitor for the client. Before, no client protection in DeleteInternalClients => deleting a client in use or creation of a client after the Call to DeleteInternalClients where possible.
- Code outcommented in RegisterDataserver: Do not know why. If no history is defined, no client connections will be made. Code reintroduced.
- Updated implemetation.
- Changed all monitors.
Code and comments in code before this version:
void CVdMultiConnect::DeleteInternalClients()
{
// ENTER_AND_TRY_BEGIN(monitor)
// TW20010530: monitor removed - sometimes resulted in deadlock between the
following threads:
// - The CKernelDevice destructor thread
// - The client helper thread
// Occurred when the helper thread was in The NewData method, waiting for the
same monitor.
// The client could not be deleted before the helper thread is closed.
// The client thread closing schmema should be ok without this monitor
m_stopped = TRUE;
if( m_pClient !=
NULL ){
delete m_pClient;
m_pClient = NULL;
};
// ENTER_AND_TRY_END(monitor)
}
BOOLEAN CVdMultiConnect::RegisterDataServer(/*const*/
CDeviceServer* aDataServer,const CAddress* aAddress,UINT minPollTime
/* = 0 ms */,UINT maxTimeBetweenUpdates)
{
ASSERT_VALID(this
);
//if (!m_permanentClient)
{
// ENTER_AND_TRY_BEGIN(monitor)
// if (!(BOOL)m_simpleDeviceClosing) {
// m_clientCount++;
// if( m_clientCount==1 ){
// // Open a client connection
// if (!CreateClient()) {
// // Decrement the client count;
// m_clientCount--;
// return FALSE;
// }
// };
// }
// ENTER_AND_TRY_END(monitor)
//}
return
CSimpleDevice::RegisterDataServer(aDataServer, aAddress,
minPollTime,maxTimeBetweenUpdates);
}
Version 1.24.96.84 (23/08-2004 TW):
VdMulticonnect: Enable persistent load of write history (has been delayed until all front-ends were updated , TW040309)
E1: VdMulticonnect: Would be very nice if the enable bits (a0=100...) would be stored persistent. (JSN 040803).
Version 1.22.89.71 (03/09-2003 TW):
Bug corrected in multiconnect: Used deviceNo, ComputerNo instead of unique device id.
Changed error logging due to change in CDevice
Version 1.17.72.57 (18/12-2002 TW):
Implemented persistent store in vdFAF. PS: Only partly tested!. vdFAF: Parameters (especilly freq_corr) are not saved when stopping the device. Not nice when stopping and starting in user operation. (JSN 001114)
Version 1.13.45.40 (28/3-2001 jsn):
Changed vdMass q^2 dependence to q (it is Vacc which is used, not Eacc).
Version 1.11.37.34 (25/8-2000 TW):
Updated all devices to new closing scheme.
Version 1.1.12.21 (11/3-99 TW):
CTableConversion: Implemented optional storage file for settings during shutdown/reload.
CTableConversion: Corrected initialisation errors when loading a new conversion table.
Version 1.1.12.20 (8/3-99 TW):
Corrected fatal monitor error in CTableConversion.
Version 1.1.12.19 (25/2-99 TW):
Device destruction corrected for all devices.
Added missing monitor around most operations in: CVdFAF, CVdMass, CVdMultiConnect, CVdTableConnect
Version 1.1.12.18 (23/2-99 TW):
Initialisation in CKernelDevice, CConSysKernel changed - now loads all devices and call create before starting the client construction and database initialisation. All database load and client creation in the devices must be done in separate threads in the devices and must wait for the new sync. object, m_devicesLoaded in the CConSysKernel, to be TRUE before database initilisation/client creation.
Update of the devices:
CVdTableConnect::CreateClient(): Added check for correct database lockup, to avoid crash during startup, if wrong parameters specified.
Device load/create improved for all devices:
CVdFAF: Added check.
CVdMass: Added check.
CVdMultiConnect: Added initialisation thread - waits for the device load sync. object to become true and the call initialise to build the request from the database. If a client connection is made before the request is initialised, the initialise method is called.
CVdTableConnect: Changed start thread - was waiting a while before initialising client - now waits for the device load sync. object to become true, ie. For the device load finished and main thread started.
Version 1.1.10.15 (9/12-98 TW):
Device printing added:
Was missing for: VdMultiConnect, VdFAF
DeregisterDragDrop called in VdMultiConnectView,CFAFSetupView, CMassDocView, CTableConnectView destruction to cure drag/drop desctruction fault.
The ParameterTarget for drag/drop has to be deleted before the window is destroyed - else a serious error occurs during deletion. The Controlbar is now notified by the mainframe when before the mainframe is destroyed, and deletes the parameter drop targets.
Version 1.1.10.14 (7/12-98 TW):
Revision control dependency corrected.
Version 1.1.10.13 (7/12-98 TW):
Multiconnect implemented.
Version 1.1.2.10 (25/9-98 TW):
VdFAF: More functionality's added.
Version 1.1.2.8 (21/9-98 TW):
Client changed: Corrected error in data order in NewData.
Added VdFAF - device needed for the FAF control, working together with DAFLoader.
Version 1.1.2.3 (3/7-98 TW):
Changed to work with corrected version of dump dataserver
The dataserver has been corrected back to original behavior, where data values set was reflected. The data reflection gave inf. loop in vdTableConversion. This is now corrected.
Version 1.1.2.3 (3/7-98 TW):
New clean version of RCM
A new clean version of rcm has been created. The revision numbers now follow the RCM version numbers.
Automatic insertion of RCM version numbers in resource version
The version informations in the resource script generate the version information from the common ConSys version header file and the version file generated by the new TCL scripts.
Version 1.1.34.5 (30/6-98 tw):
Added Header information.
Version 1.1.34.4 (29/6-98 tw):
Table connect VD finished.
Version 1.0.33.3 (24/6-98 tw):
- VdMultiConnect device framework implemented
- VdTableConnect device framework implemented
Version 1.0.33.2 (16/6-98 tw):
- VdMass implemented.
This project was started June 1998.
Last Modified 06 May 2020