Problem Omnis to Omnis.

OmnisList omniscentral at gmail.com
Fri Mar 6 03:31:24 EST 2015


Hi,
I copy & paste this snippet below we are using for
calling a Omnis from another Omnis passing some
parameters.
This works with OmnisStudio 4.x but not with Omnis 5.x.
We get an error on TCPReceive:
in char Buffer we get this:

AOMNIS_ORFC   c503 Unable to locate specified Library or Class...

Any clues ?

THKS!

Gianni


Do method IP2Long (pcServerIP) Returns myServerIP
Calculate vStatic as 'OmnisLibrary=MYLBS'
Calculate vStatic as con(vStatic,'&OmnisClass=rtAlive')
TCPGetMyAddr  Returns lcMyIP

Calculate vStatic as con(vStatic,'&IPSender=',lcMyIP)
Calculate vStatic as con(vStatic,'&Msg=',pcMsg)

Calculate vStatic as con(vStatic,'&Name=',pcName)

Calculate TheLength as 23+len(vStatic)+len(CGIData)
Do method Num2Long (TheLength) Returns TheHeader
Calculate TheHeader as 
con(TheHeader,'OMNIS_ORFC',chr(0,1,0,7),myServerIP,chr(0))

TCPConnect (pcServerIP, 5912) Returns TheSocket
TCPSend (TheSocket,TheHeader) Returns CharCount
TCPSend (TheSocket,vStatic) Returns CharCount
For count from 1 to len(CGIData) step cBlockSize
     Calculate Buffer as mid(CGIData,count,cBlockSize)
     TCPSend (TheSocket,Buffer) Returns CharCount
End For
Calculate Response as ''
Calculate Buffer as ''
Repeat
     Repeat
         TCPReceive (TheSocket,Buffer) Returns CharCount
     Until CharCount<>-10035     ;; If the port is not ready, try again
     If len(Response)<1     ;; the first 4 bytes will be the length of 
the data coming back
         Do method Long2Num (Buffer) Returns DataLen
         Calculate DataLen as DataLen-18     ;; Remember to take off the 
header length
         Calculate Response as mid(Buffer,19,len(Buffer)-18)     ;; and 
the header
     Else
         Calculate Response as con(Response,Buffer)
     End If
     Calculate Buffer as ''
Until len(Response)>=DataLen
TCPClose (TheSocket) Returns CharCount
Calculate TheSocket as 0



More information about the omnisdev-en mailing list