Operating System - OpenVMS
cancel
Showing results for 
Search instead for 
Did you mean: 

RTR C++ API Bug

 
ye kuang
Occasional Contributor

RTR C++ API Bug

Hi,

My partner meet a strange problem of RTR C++ API during the test of RTR, the problem is ,when we select the event-driven model to access message data, we found that there is none GetMessage(), GetMessageType() and GetMessageLength method in the RTRApplicationMessage class , after we compile the test source code ,it show these information:

--------------------Configuration: tcxx - Win32 Debug-------------------- Compiling...
tcxx.cpp
C:\WorkSpace\Temp\RTR_demo_NT\tcxx.cpp(34) : error C2039: 'GetMessage' : is not a member of 'RTRApplicationMessage'
c:\program files\rtr\rtrapi.h(1778) : see declaration of 'RTRApplicationMessage'
C:\WorkSpace\Temp\RTR_demo_NT\tcxx.cpp(35) : error C2039: 'GetMessageType' : is not a member of 'RTRApplicationMessage'
c:\program files\rtr\rtrapi.h(1778) : see declaration of 'RTRApplicationMessage'
C:\WorkSpace\Temp\RTR_demo_NT\tcxx.cpp(36) : error C2039: 'GetMessageLength' : is not a member of 'RTRApplicationMessage'
c:\program files\rtr\rtrapi.h(1778) : see declaration of 'RTRApplicationMessage'
Error executing cl.exe.

tcxx.exe - 3 error(s), 0 warning(s)

....................................................................................................................................................

The test source code is :

#include
#include

void main()
{
cout<<"test c++"<
RTR *MyRTR = new RTR();
rtr_status_t sStatus;
bool bSupersede = true;


sStatus = MyRTR->CreateJournal(bSupersede);
if ( sStatus == RTR_STS_OK )
cout<<" a new journal is created "< else
cout<GetErrorText(sStatus)<

sStatus = MyRTR->IsRunning();
if( sStatus == false )
{
sStatus = MyRTR->Start();
if(sStatus == RTR_STS_OK)
cout<<" RTR is started "< else
cout<GetErrorText(sStatus)< }
else
cout<<" RTR is already runing "<
RTRApplicationMessage *msg = new RTRApplicationMessage();
msg->Dispatch();
msg->GetMessage();
msg->GetMessageType();
msg->GetMessageLength();
}


And in the rtrapi.h file, we just find the GetMessageType() method, the other two GetMessage****() method is disappear ,So, it means the RTRApplicationMessage class only have Dispatch() method, the orher three method GetMessage****() are Null function.Another question is about the Polling-Driven model, if I use this model, which function shoud I use to get the RTR data, the RTRData have only GetDataLength method, none GetData method.


And the platform is windows ,the RTR version is RTR v4.5(318) BL5,and the complier is VC++ v6.0.and i also test these code in alpha openvms , the result is same.

Every expert , who knows how to fix these or have RTR C++ api code experience?

thanks & regards

ye kuang
3 REPLIES
John Gillings
Honored Contributor

Re: RTR C++ API Bug

ye,

Start by logging a case with HP customer support.

While waiting for a response, I'd look at the shareable images you link against to check that the routines you're expecting exist. If so, I'd create my own rtrapi.h file, defining them, and confirm that the code works the way I expect.

You can then show HP incorrect and correct versions of the .h file.
A crucible of informative mistakes
ye kuang
Occasional Contributor

Re: RTR C++ API Bug

Hi,

thanks for your response, the RTR is loan to customer NEWGRAND, it's a very important ERP provider in PRC, the NEWGRAND is now using RTR intergrate with their i6 solution and testing RTR's function, if passed the test, they will buy RTR, it will be the first RTR customer in china, so i think if customer buy hp's product the carepack can just be created. so for how can i deal with this problem, or who in hp rpovide support.


thanks & regards

ye kuang
Ian Miller.
Honored Contributor

Re: RTR C++ API Bug

HP are now engaged with Ye on this issue
____________________
Purely Personal Opinion