From: Dino Date: 2005-01-06T07:11:31+09:00 Subject: "Parameter not optional" error using WIN32OLE Perhaps someone has run into this problem before me and can offer a solution. I am attempting to use an OLE automation server through Ruby. I am calling a function on an automation object, and that function, according to the documentation, can accept a "NULL reference" instead of an object of the desired type. For my application, the NULL value is the correct one. So I am making this call: notification.Wait(nil, 10.0, nil, false, result) By the way, the interface I am using was generated by olegen.rb; props to Masaki Suketa for this very useful utility. Anyway, I have also tried this with a more direct call that looks like this (the comments are copied out from my code): notification.Wait({ "destinationPropObj" => nil, # data reference; pass nil if you don't want the data "timeoutInSeconds" => 10.0, # timeout in seconds; pass negative for infinite timeout "sequenceContextObj" => nil, # sequence context, used to improve blocking behavior for the sequence calling this function (nil if you are not calling from a sequence execution) "processMsgs" => false, # process Windows messages while waiting? Use true when calling from a sequence, false otherwise "waitRes" => result # result of the Wait call } ) These are only two out of many ways to make this OLE method call in WIN32OLE; I have tried a few others as well. The problem is that 'nil' is never accepted by WIN32OLE. I always get the following error when trying to pass 'nil' for any argument: OLE error code:0 in HRESULT error code:0x8002000f Parameter not optional. from Now, I'm pretty sure at this point that the WIN32OLE library isn't even the entity creating this error, but rather the OLE functionality itself. At any rate, I am hoping someone might have run into this problem before and be able to help me out. I investigated it extensively over the past few days and just can't find the solution myself. Thanks for any and all help, --Dino --------------= Posted using GrabIt =---------------- ------= Binary Usenet downloading made easy =--------- -= Get GrabIt for free from http://www.shemes.com/ =-