There is no check if the pointer returned by GetDataBase,GetActiveDAQ is valid. This can result
segmentation fault.
For instance, if one specifies DAQ system as "none", or one does not specify DataBaseName, rome
stops without error message.
It is better to modify this behavior.
* One way is to stop application like.
ROMEDAQSystem* GetActiveDAQ() {
if(!fActiveDAQ){
gAnalyzer->Println("some error message");
fApplication->Terminate(1);
}
return fActiveDAQ;
};
*Other way is to use a dummy DAQSystem and DataBase which does nothing when user does not
specify DAQ or DataBase. When dummy is used, warning message must be shown, because it is
dangerous that users do not realize they are using dummy. |