------_extPart_001_01C6AAB2.A719D382
Content-Type: text/plain;
 charseto-8859-1
Content-Transfer-Encoding: quoted-printable

Hi All 
 
Recently I was trying to call an open source tool (STAF) from Watir(Ruby).
 
I am supposed to call DDVariableStore.dll
 
But when the program is being executed, I get the error :-
 
D:/Program Files/Watir/unittests/11.rb:6:1n 'initialize': GetProcAddress: STAFUtilities or STAFUtilitiesA <RuntimrError>
         from D:/Program Files/Watir/unittests/11.rb:6
 
The program code is 
 
require 'Watir'
require 'Win32API'

class STAF_Watir_Interface

def processRequest(otrd)

 oresult = Win32API.new("DDVariableStore","STAFResult","","")

 ostaf = otrd.getSTAFHelper()

 status = ostaf.sendQueueMessage(debuglog, sinfo & "HookScript processing request...")

 otrd.setStatusCode(-1)
 otrd.setStatusInfo("")

 message = "I did good on line "& otrd.getLineNumber()
 details = "I deserve something special!"

 status = ostaf.logPassedMessage(otrd.getFac(), message, details, oresult)

 processRequest = otrd.getStatusCode()
end

 engine = "SAFS/Watir"

 shutdown = "False"
 
 astaf = Win32API.new ("DDVariableStore","STAFUtilities","","")
 otrd = Win32API.new("DDVariableStore","TestRecordData","","") 
 oresult = Win32API.new("DDVariableStore","STAFResult","","")

 otrd.setSTAFHelper(ostaf)

 status = ostaf.registerNewProcess(engine)

 handleid = ostaf.getHandleID()

 status = ostaf.sendQueueMessage(debuglog, sinfo & "HookScript initializing...")
 status = ostaf.resetHookEvents(engine)
 status = ostaf.postEvent(engine & "Start")

 while (shutdown == False) do

  status = ostaf.sendQueueMessage(debuglog, sinfo & "HookScript Ready")
  status = ostaf.postEvent(engine & "Ready") 
     status = ostaf.getNextHookTestEvent(engine)
     status = ostaf.sendQueueMessage(debuglog, sinfo & "HookScript Dispatched")

     otrd.reinitialize()

     status = ostaf.getTestRecordDataVariant(otrd)

     record = otrd.getInputRecord()

     if record == "SHUTDOWN_HOOK" then

   shutdown = "True"
  end

  if (shutdown == "False") then
          status = processRequest(otrd)
   status = ostaf.sendQueueMessage(debuglog, sinfo & "HookScript Results: "& status) 
      status = ostaf.sendTestRecordResultsVariant (otrd)
             status = ostaf.setHookTestResultsEvents(engine, 2)
      status = ostaf.resetEvent(engine & "Running")
  else
      status = ostaf.sendQueueMessage(debuglog, sinfo & "HookScript Shutting Down") 
      status = ostaf.postEvent(engine &"Results")
  end
 end

 status = ostaf.resetHookEvents(engine)
 status = ostaf.postEvent(engine &"Shutdown")
 status = ostaf.sendQueueMessage(debuglog, sinfo & "HookScript Shutdown") 
 status = ostaf.unRegisterProcess ()

end

 

 

Please correct me if my code is wrong.

Please crosscheck if Win32API was used properly.

The problem starts at this line ----  astaf = Win32API.new("DDVariableStore","STAFUtilities","","")

 

Bye and Thanx in advance

Meghanath

 



------_extPart_001_01C6AAB2.A719D382--