O$5: Calling an Omnis from another Omnis.

Alain Stouder Omnis omnis at smartway.ch
Fri Mar 6 03:53:10 EST 2015


Are you switching from Studio 4 non unicode to Studio 5 unicode ?

On 06 Mar 2015, at 09:47, Omnis Central <omniscentral at gmail.com> wrote:

> 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
> _____________________________________________________________
> Manage your list subscriptions at http://lists.omnis-dev.com




More information about the omnisdev-en mailing list