• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 761
  • Last Modified:

Converting Attachmate X-tra to Reflection 14 within Powerbuilder 10.5 (getstring?)

I am trying to convert my Powerbuilder application from using OLE Attachmate Extra to Reflection 14.  I noticed that I cannot use the same script that I've used before.  I've found equivalent functions that can replace my other functions.  Unfortunately, I can't find anything to replace the GETSTRING().  IF lole_session.GetString(1,73,4) <> "FMSP" does not work.  Can anyone assist? I've attached a brief code snipet below.
I get "Error calling external object function getstring" on the getstring() calls.
lole_session = CREATE uos_oleobject
IF lole_session.ConnectToObject(lstr_fms_fname) <> 0 THEN
	fpub_got_error("COW0190059", "fpvt_access_fms", "")
	return -1
END IF
 
IF NOT lole_session.IsAlive() THEN
//IF NOT lole_session.Visible THEN
   // FMS session does not exist. Show message to the user that they need to login	
	fpub_got_error("COW0190053", "fpvt_access_fms", "")
	lole_session.Visible = TRUE
	Return -1
END IF
//lole_screen =  lole_session.GetActiveSession()
//lole_screen = fpub_uos_oleobject(lole_session.Screen)
 
//Make sure user is on a valid menu
IF lole_session.GetString(1,73,4) <> "FMSP" AND &
	lole_session.GetString(1,25,12) <> "NVi/TPX MENU" AND &
	lole_session.GetString(1,26,22) <> "DMS/VS SECURITY SYSTEM" THEN
	// Show message to the user that they need to login
   fpub_got_error("COW0190060", "fpvt_access_fms", "")
   Return -1
END IF
 
//Get to the main menu if not there
//IF lole_screen.GetString(1, 25, 12) <> "NVi/TPX MENU" THEN
IF lole_session.GetString(1, 25, 12) <> "NVi/TPX MENU" THEN
	lole_session.TransmitTerminalKey(277)
	lole_session.TransmitANSI( "cssf logoff")
	lole_session.TransmitTerminalKey(289)
//	lole_screen.SendKeys("<Clear>")
//	lole_screen.SendKeys("cssf logoff<Enter>")
END IF

Open in new window

0
rtgreen79
Asked:
rtgreen79
  • 2
  • 2
2 Solutions
 
sandeep_patelCommented:
I think getstring is trying to read data from excel. You must need to find similar function or approach in reflection. Without that it will not work because GetString is perticular OLE function not the PB function.

Regards,
Sandeep
0
 
rtgreen79Author Commented:
Thank you for the response.  I am trying to access an IBM 3270 reflection session from within a powerbuilder oleobject.  The code worked for an Attachmate Extra session.  I am trying to convert the code to access an attachment reflection 14 session.  I could not find any really good documentation on the topic of reading the screen with reflection 14.  

I believe you are right.  The getstring is not valid for the reflection session.  I am looking for an equivalent function.
0
 
sandeep_patelCommented:
You should be able to see all the functions, events and properties of Reflection OLE under PB's object browser > OLE Tab

Check if you see something similar there....

Regards,
Sandeep
0
 
rtgreen79Author Commented:
Thank you for your help.  I found the function that I was looking for GetDisplayText(Reflection) can be used in place of GetString(Extra).
.GetDisplayText(1, 1, .DisplayColumns * .DisplayRows)
      
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Cloud Class® Course: SQL Server Core 2016

This course will introduce you to SQL Server Core 2016, as well as teach you about SSMS, data tools, installation, server configuration, using Management Studio, and writing and executing queries.

  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now