Curl Global Community
ActiveX error in Curl8.0 - Printable Version

+- Curl Global Community (http://communities.curl.com)
+-- Forum: Discussions (http://communities.curl.com/forumdisplay.php?fid=1)
+--- Forum: General Curl questions (http://communities.curl.com/forumdisplay.php?fid=2)
+--- Thread: ActiveX error in Curl8.0 (/showthread.php?tid=261)



ActiveX error in Curl8.0 - alchimiste - 08-30-2011

Hi,

I'm testing Curl8.0 with the application of Curl7.0.



It's ok to convert Curl7.0 to 8.0 except handling ActiveX.

The application that I developed sends and receives data through the middleware, Tibco's Rendezvous.

I implemented the interface of Rendezvous with ActiveX provided by Tibco.

It works well in Curl7.0 but the error "Memory access violation" happens in Curl8.0

Is something different in handling ActiveX between Curl7.0 and 8.0?

And must I do something for handling ActiveX in 8.0?





RE: ActiveX error in Curl8.0 - tdeng - 08-31-2011

Could you list your source code calling ActiveX here ? The codes should include the calling to constructor of ActiveXObject and the code line that produces "Memory access violation" .
Also if possible, please list your backstacktrace as well.



RE: ActiveX error in Curl8.0 - alchimiste - 09-01-2011

Thank you in advance.

I list the source code.

We use Rendezvous version 7.5.4

Code:
{curl 8.0 applet}
{curl-file-attributes character-encoding = "utf8"}

{import * from CURL.GRAPHICS.ACTIVEX}
{value
    def area = {TextArea width=500px, height=500px}
    let tibrv:ActiveXObject = {ActiveXObject ProgId = "TibrvCOM.TibRv"}
    {tibrv.open}
    
    let tibrv-msg:ActiveXObject = {ActiveXObject ProgId = "TibrvCOM.TibRvMsg"}
    {tibrv-msg.create}
    
    let tibrv-transport:ActiveXObject = {ActiveXObject ProgId = "TibrvCOM.TibrvTransport"}
    || pass empty strings for simple tests
    || Empty strings means connecting local PC
    {tibrv-transport.create "", "", ""}
    
    let tibrv-queue:ActiveXObject = {ActiveXObject ProgId = "TibrvCOM.TibrvQueue"}
    {tibrv-queue.Create}

    let tibrv-queue-group:ActiveXObject = {tibrv.getAutoDispatchQueueGroup}
    || Memory access violations error occurs here in Curl8.0
    || アプレットがCurl8.0の場合、エラーはここで発生する。
    {tibrv-queue-group.add tibrv-queue}
    
    let tibrv-listener:ActiveXObject = {ActiveXObject ProgId = "TibrvCOM.TibrvListener",
                                           onMsg={proc {listener:ActiveXObject, message:ActiveXObject}:void
                                                     {dispatch-events false}
                                                     {try
                                                        
                                                         let field:ActiveXObject = {message.getFieldByIndex 0}
                                                         def body = {message.toString}&""
                                                         set area.value = body                                      
                                                         {if {field.getName} == "DATA" then
                                                            
                                                             def body = {message.toString}&""
                                                             set area.value = body
                                                            
                                                         }
                                                        
                                                      catch e:Exception do
                                                         {dump e.message}
                                                     }
                                                 }    
                                       }
    {tibrv-listener.create tibrv-queue, tibrv-transport, ">", 0}
    area
}



RE: ActiveX error in Curl8.0 - tdeng - 09-01-2011

Sorry, I cannot find any clue to the problem you are facing. I'm not sure, but maybe a reproducible sample that I can debug could be of any help ...



RE: ActiveX error in Curl8.0 - alchimiste - 09-01-2011

I think this problem would be regarded as serious by our customers.

Rendezvous is used for data communications in the MES of our customer.

I'll send the source code and Rendezvous client program to Curl Help desk.

Thank you.