Hi Ariya & Alexis,<div><br></div><div>Thanks for pointing this out, </div><div><br></div><div>I mis-understood the problem </div><div><br></div><div>I found that, the actual problem is QtWebkitBridge does not provide a way to, passing JS function to C++ slot and calling JS function from invoked C++ slot. </div>
<div><br></div><div>I am working in a project where requirement is that from JS we are calling slots with success and failure JS functions as arguements, if slots gets success in functionality, it calls success JS function and, if it gets failure in functionality it calls failure JS function.</div>
<div><br></div><div>Now, as there is no functionality to call JS functions from the Invoked Slot, we implemented a hack that is,</div><div><br></div><div>1). While calling Qt Slot, QtWebKitBridge converts JS function to QString datatype.</div>
<div>2). we use QWebFrame::EvaluateJavaScript and connect success and failure JS functions to two signals of the current object.</div><div>3). Now, If we get success, we emit the success and failure signals and connected JS functions gets called.</div>
<div><br></div><div>Now this hack does not work, if call to my slot is done with code like below,</div><div><br></div><div><span class="Apple-style-span" style="background-color: rgb(255, 255, 255); "><div style="font-family: arial, sans-serif; font-size: 13px; ">
function analyzeImages() {</div><div style="font-family: arial, sans-serif; font-size: 13px; "><span style="background-color: rgb(255, 255, 0); ">  var strHello = "Hello World"</span></div> // Below is a call to slot<div style="font-family: arial, sans-serif; font-size: 13px; ">
  imageAnalyzer.startAnalysis( function () { alert(strHello); } );</div><div style="font-family: arial, sans-serif; font-size: 13px; ">}</div><div style="font-family: arial, sans-serif; font-size: 13px; "><br></div><div><font class="Apple-style-span" face="arial, sans-serif">Thanks for understanding this issue, Any solution to this problem?</font></div>
<div style="font-family: arial, sans-serif; font-size: 13px; "><br></div><div style="font-family: arial, sans-serif; font-size: 13px; ">Note, We can not change the JS code, as lots and lots of JS code is already written.</div>
</span></div><div><br></div><div>Thanks,</div><div> Sunny<br><div><br><div class="gmail_quote">On Thu, Sep 15, 2011 at 2:15 AM, Alexis Menard <span dir="ltr"><<a href="mailto:alexis.menard@openbossa.org">alexis.menard@openbossa.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im"><br>
On Sep 14, 2011, at 5:33 PM, sunny shah wrote:<br>
<br>
> Hi,<br>
><br>
> Suppose, below is my JS Code in html file<br>
><br>
> function analyzeImages() {<br>
>   var strHello = "Hello World"<br>
>   imageAnalyzer.startAnalysis();<br>
> }<br>
><br>
> Now, Here is a startAnalyzer slot code in C++<br>
> void ImageAnalyzer::startAnalysis() {<br>
> // Below code works ( Gives message box )<br>
> ((MainWin*)parent())->page()->mainFrame()->evaluateJavaScript("alert('Qt is good'); ");<br>
> // Now below line does not work.<br>
> ((MainWin*)parent())->page()->mainFrame()->evaluateJavaScript("alert(strHello); ");<br>
>  // do something<br>
> }<br>
><br>
> 1). Any idea, how to make it work?<br>
<br>
</div>Just put the variable in the global object, i.e. a global variable.<br>
<div class="im"><br>
> 2). If it is not supported by QtWebkitBridge, then can you please tell me what was the reason behind it?<br>
<br>
</div>How do you expect the C++ slot to know about the JS context of the fct? Magic?<br>
<div class="im"><br>
> 3). It is very important for us to make this work, can you please tell me how to do this?<br>
><br>
> Thanks,<br>
>  Sunny.<br>
</div>> _______________________________________________<br>
> webkit-qt mailing list<br>
> <a href="mailto:webkit-qt@lists.webkit.org">webkit-qt@lists.webkit.org</a><br>
> <a href="http://lists.webkit.org/mailman/listinfo.cgi/webkit-qt" target="_blank">http://lists.webkit.org/mailman/listinfo.cgi/webkit-qt</a><br>
<br>
</blockquote></div><br></div></div>