[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference utrop1::linkworks_v3

Title:LinkWorks V3.0 Notes Conference
Notice:LNX_APO = APO issues, LINKWORKS_V3 = V3.0 issues
Moderator:tacklr.apd.dec.com::TACK_Lm::TACK_L
Created:Tue Jun 28 1994
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:2269
Total number of notes:8338

2245.0. "OLE automation problems" by KYPROS::PARELLIS () Wed May 21 1997 20:48

We are facing three problems with a linkworks solution we provided to
a customer (Central Bank of Cyprus). Maybe the problems are related to 
each other, but we are not sure about that.
The customer environment is Linworks 3.0.8 on NT 3.51 (Intel) and oracle 7.2.
Languages installed: English only.

We try to reproducr the problems here in Digital Cyprus office (Linkworks 
3.0.8, NT 4.0 (Intel) and SWL Server v6.5). 
Languages installed: English only.

All the clients at allsites are running:
Windows 95
Linworks client 3.0.8
VB Enterprise V4.0


Problem descriprions:

1) The VB code shown below is an example of the first problem which appears 
at the customer site but not YET here in Digital office (we have run it only
a few times). The problem is that some times the code runs successfully , 
but some times fails at GetObject statement with VB error message 
"OLE automation error" and Linkworks crashes.
The same problem was found with Obj.CreateNewObject function.

Sometimes when updating an object's attributes we get error 438 
"Object doesn't support this property or method", but sometimes works fine.
This problem do not crash linkworks and we don't get any OLE automation error.


Private Sub Form_Load()

   Dim QStr As String

   Set lnx = CreateObject("LNX.Application")
   QStr = lnx.APOQuery("select x where x.Name='TestWmOleAccess'")
   Set WmObj = lnx.GetObject(QStr, True)    ///Here we get ole automation error and the lnx is crashed
End Sub


2) The software components installed were developed in Israel by OptiNet
in english and hebrew Linkworks environmet. The same s/w components are
installed and working properly in a few sites in Israel. 
We have installed the same s/w componetns on a Linkworks server here in
Digital Cyprus and we face exactly the same problem.

The s/w component below is calling an OLE server that we have developed in VB
and when it comes to the first call to the OLE automation it is not coming 
back (step over or step into in the debugger) or move to VB and no error
message is returned. If we step again then the control comes back to 
linkworks.

Lishka@01000000000000000000000000BE010101:DecisionCabinetGlobal::Lishka@01000000000000000000000000BE010101:CreateDes()
{
  Type retval, rc, bSuccess, OleObj;

  bSuccess=extern access MLOC_LOCAL(OleObj, Lishka@01000000000000000000000000BE010101:OleDes)
        for WSTYPE_OTHER = MEXT_OLEAUTOMATION ("CreateObject()");
  if (bSuccess) {
    rc=extern access MLOC_LOCAL(OleObj, retval, this.Reference)  ///Here not coming back (step over or step into in the debugger)
          for WSTYPE_OTHER = MEXT_OLEAUTOMATION ("SetFatherRef(OleAutomationObject,RET Integer,IN String)");
    rc=extern access MLOC_LOCAL(OleObj, retval, Lishka@01000000000000000000000000BE010101:New)
          for WSTYPE_OTHER = MEXT_OLEAUTOMATION ("SetStatus(OleAutomationObject,RET Integer,IN String)");
    rc=extern access MLOC_LOCAL(OleObj)
          for WSTYPE_OTHER = MEXT_OLEAUTOMATION ("ViewObject(OleAutomationObject,RET)");
  }
}


3) We are trying to run a 16bit DLL from linkworks method and we get a 
message that cannot start the DLL. Is that the way should behave? If not
could be related to the above problems?

We would appreciate a quick answer because we are in the middle of the 
Acceptance Test and we don't solve the above problems tomorrow we will 
not get payed.

Thanks in advance for any input.

regards,
Christos
T.RTitleUserPersonal
Name
DateLines
2245.1IJSAPL::MONNINK_HThu May 22 1997 11:0153
    Christos,
    
    
    About your problems:
    
    1)
    
       Set lnx = CreateObject("LNX.Application")
       QStr = lnx.APOQuery("select x where x.Name='TestWmOleAccess'")
       Set WmObj = lnx.GetObject(QStr, True)
    
       The above lines are not correct!
    
       You have to replace them with something like:
    
    	
       Set lnx = CreateObject("LNX.Application")
       QStr = lnx.APOQuery("select x where x.Name='TestWmOleAccess' LIMIT 1")
       if ( len(Qstr) < 64 ) then 
    		ERROR ......
       else
     
    	
    	Set WmObj = lnx.GetObject(Qstr)
    
    
    	You are calling the OLE propery and not the 'GetObject'
    Method!!!!!!
    
    
    	2)
    
    MLOC_LOCAL(OleObj, Lishka@01000000000000000000000000BE:010101:OleDes)
    
    Is the ':' also in the real code ? then it is a typo
    it should read:
    MLOC_LOCAL(OleObj, Lishka@01000000000000000000000000BE010101:OleDes)
    
    
    
    3)
    16 bit dll should not give any problems, please provide the information
    about how you make the call ( method) and what dll + location etc..)
    
    
    Han
    
    PS:	Christos,  as discussed before maybe it is wise to get a support
    contract!
    
    Did any of my previous sugestions provided by mail help??
    
    
2245.2more infoKYPROS::PARELLISThu May 22 1997 13:5713
Han,

Thanks for your reply. Further to our telephone conversation find below the
code related to problem 3.

/Christos


ObjectWithDocument::Widefax1@0100000000000000000000000010BE507D:ExtFax(Type path)
{
  extern access MLOC_LOCAL(path)
    for WSTYPE_OTHER = MEXT_DLL ("\"widefax.dll\".PrintDoc(IN String)");
}
2245.3IJSAPL::MONNINK_HThu May 22 1997 14:456
    Christoss,
    
    Well this is indeed not supported, calling a 16-bit dll from
    classprogramming on a 32-bit client won't work.
    
    Han
2245.4IJSAPL::MONNINK_HThu May 22 1997 16:068
    Christos,
    
    My last reply is not correct, 16 bit should work but you'll need one of
    the last kits. there is a executable called 'call16.exe' that will do
    the work for you!
    
    Han
    
2245.5Problems solved!!!KYPROS::PARELLISFri May 23 1997 10:2114
    Han,
    
    Thank you very much for your help.
    
    After I have upgraded the clients to the latest patch level, it seems
    that problems 1 and 3 are solved.
    
    For the problem 2 Amir had to redifine a global declaration and after
    that it is working fine. I will ask him to explain to you in more
    detail the cause of the problem.
    
    /Christos
    
    
2245.6IJSAPL::MONNINK_HFri May 23 1997 10:506
    
    Christos,
    
    This is good news, Hope you get your money now.
    
    Han