IRC Log Viewer » #firebreath » 2011-11-14

IRC Nick Time (GMT-7) Message
Kuba_ 02:11 Hi there
For last few weeks I am struggling with ActiveX related problem
Anyone knows How can I obtain *.ocx control (ActiveX one) from my project build?
Kuba_ 03:11 When I attached VS to IE I get errors in debug console:
'iexplore.exe': Loaded 'C:\Documents and Settings\jkoszulinski\Application Data\Amadeus\CommPortPlugin\1.0.0.0\npCommPortPlugin.dll', Symbols loaded.
'iexplore.exe': Loaded 'C:\WINDOWS\system32\olepro32.dll' First-chance exception at 0x7c812afb in iexplore.exe: Microsoft C++ exception: FB::script_error at memory location 0x053e9148..
First-chance exception at 0x7c812afb in iexplore.exe: Microsoft C++ exception: FB::script_error at memory location 0x053e91a4..
First-chance exception at 0x7c812afb in iexplore.exe: Microsoft C++ exception: FB::bad_variant_cast at memory location 0x053e9044..
while with FF it works fine
dougma 04:11 you can set the debugger to break when exceptions are thrown, which might help you find the problem
Kuba_: ^
Kuba_ 06:11 thanks
I will try it
kylehuff 09:11 'morning taxilian; for your reference, I filed that bug for firefox, and it is here - https://bugzilla.mozilla.org/show_bug.cgi?id=702132
taxilian 09:11 cool
FireBreathBot 10:11 JIRA issue http://jira.firebreath.org/browse/FIREBREATH-145 issue commented by richard "I will look at your changes and consider them; it may be a few weeks before I can get to it, howe..."
taxilian 10:11 kylehuff: Remember when I ask you to be really specific about your use case?
don't say "I needed to access a system resource"
tell them exactly what you are doing
even point them to the project
tell them you're using openssl, etc
the fundamental issue is that they don't seem to really know what people use plugins for, and so they don't think the feature is all that important.
kylehuff 10:11 yeah, I honestly ran out of time, and had to go with what I had. I leave for basic @ 2pm today
taxilian 10:11 ahh. we'll miss you around here =] hope to see you when you get back
kylehuff 11:11 thanks, I hope to be in a position that I can still do coding on the side. it is the initial 4 to 5 months that I don't have access to a PC at all
taxilian 11:11 yep. I wish you luck with everything; I'm sure it's going to be quite the experience
Sudi 11:11 Good Morning!!
taxilian 11:11 good morning
Dan8464 12:11 I found a HTTPService sample on github taxilian... written by you. :D It's from last year
taxilian 12:11 seriously? link?
Alyoshak 12:11 Well, I finally threw in the towel on Xcode 4. Downloaded and installed Xcode 3 and trying to build the plugin project that was generated. I get a lot of errors, but what jumps out most at me is that the error message indicates that it thinks I'm building for the iPhone rather than the Mac.
For example: "CompileC /Users/charlesjohnson/build/PluginCore/FireBreath.build/Debug-iphonesimulator/PluginCore.build/Objects-normal/i386/BrowserPlugin.o src/PluginCore/BrowserPlugin.cpp". Why does it think I want to build for the "iphonesimulator" ?
Dan8464 12:11 https://gist.github.com/751687
Alyoshak 12:11 I'm hesitant to jack with the project file since it is generated for me. (Was that link sent in response to my question Dan?)
taxilian 12:11 (I'm in a meeting, be back in a bit)
Alyoshak 12:11 Ok
Dan8464 12:11 No, sorry, it was directed toward taxilian. My bad for not prefixing the message.
Alyoshak 13:11 Taxilian I will go back to my work but check here periodically for your response.
taxilian 13:11 okay, I'm back
Alyoshak: what version of FireBreath are you using?
Dan8464: yeah, I remember doing that now; it's a really basic start but it's a start =]
Alyoshak: I'd make sure you have the latest version of FireBreath from the firebreath-1.6 branch and then delete your build dir and rerun the prep script
Alyoshak 13:11 Ok. I have the latest version of firebreath. I'll delete the build dir and run the script again.
taxilian 13:11 also make sure you're using the latest cmake
I've never had the issue you're describing
emicastro 13:11 good afternoon taxilian
Alyoshak 13:11 Thx. I'm working on it. CMake seems fine.
emicastro 13:11 What about Unit Test in Firebreath?
taxilian 13:11 emicastro: sorry, I don't understand the question
emicastro 13:11 There are in the firebreath freamwork classes to make Unit Test... or I have to install a framework like CXXTest for example
Alyoshak 13:11 Well, it built fine after I deleted the build directory and reconstituted it with a new prepmac.
It is interesting that I have "Base SDK Missing" and yet it builds fine. Usually that means a lot of build errors. Is the plugin supposed to build when it says "Base SDK Missing"?
Dan8464 14:11 Outputting a file from the local file system using HTTPService... so extremely easy: our_resp->headers.insert(std::make_pair("Content-Type", "image/jpeg")); our_resp->addDatablock(new HTTPFileDatablock("C:\\test.jpg"));
taxilian 14:11 Alyoshak: I've never even seen a "base SDK missing" message
Dan8464: that's what it was used for
Dan8464: I'd still love to see a full example project using HTTPService contributed somewhere
to help the next person who tries to do what you're doing
Dan8464 14:11 I suppose I should stall an IRC client instead of using this web one... but yeah, I'll gladly upload a copy of this while it's still small/proof of concept
my goals right now are prettty simple - 1) serve a file off the local filesystem, which is done. 2) accept a POST request and store the request to a local file
does firebreath already include a class for working with POST data and writing it out to the local filesystem?
taxilian 14:11 it does not
why do you want to get a POST file upload?
Dan8464 14:11 standard jquery file upload
upload to localhost instead of remote server; plugin will then cache it to the local machine/and it will be available via localhost
benefit to doing it via HTTP like that is that the application can be switched between using a plugin running a lightweight http server that can handle basic serving/uploading... and a remote server that provides the same functionality
taxilian 14:11 I see. I guess that makes sense
was just thinking it'd be easier to use a file open dialog and open the file directly with the plugin =]
Dan8464 14:11 yeah, that would work fine if providing the functionality via a local plugin (when the plugin is available), and alternatively using a remote server in other cases. there's more to the story than that, but that's the basic justification of it
taxilian 14:11 fair enough
Alyoshak 14:11 Would you like me to post a link to an image of it? I can do that. I'm moving on since I can now build a working plugin, but you might want to see what i'm talking about.
taxilian 14:11 nah; it's probably not a big deal as long as it builds
and honestly I don't have time to try to track it down right now anyway :-/
Alyoshak 14:11 Groovy.
Later.
Dan8464 14:11 does fb have anything to tell where a plugin can/should save local files? (like a local appsettings path)
taxilian 14:11 there is a helper function to find the appdata/locallow dir
!findfile SystemHelpers.h
FireBreathBot 14:11 Found 1 matching file(s) in the master branch. First 1 are:
src/PluginCore/SystemHelpers.h http://goo.gl/dBpp4
taxilian 14:11 (currently that is windows and mac only
)
Sajty 15:11 hi taxilian
taxilian 15:11 hello
Sajty 15:11 http://pastebin.com/F5C30hrD
whats while(0) doing?
taxilian 15:11 it is ensuring that it only executes once
while still putting you inside a unique scope
Sajty 15:11 why not use just a {} bracket?
taxilian 15:11 to be honest, I'm not sure what all the reasons were that that was put that way; however, since it works I don't see a reason to break it
also, Georg who wrote that knows a lot more about obscure compiler issues than I do, so I figure he may have had a reason
Sajty 15:11 ok :)
thanks
it just looked strange for me
maybe the brackets only version is not requiring ";" character after macro call.
taxilian 15:11 hmm. that could be
FireBreathBot 18:11 JIRA issue http://jira.firebreath.org/browse/FIREBREATH-145 issue commented by halton "Many thanks for your review. Yes, the headers are definitely needed for compiling.
Feeling 21:11 hi all~
taxilian 21:11 jello
hello even
dougma 21:11 mmm jello
taxilian 21:11 =]
Feeling 21:11 dougma: did you finish the setup script?
dougma 21:11 yep, went with msi (and msi in cab for IE users) and mpkg for osx
Feeling 21:11 oh! what does meaning of msi in cab?
include msi file in the cab?
dougma 21:11 yep
seems to work. :)
makes the .inf file incredibly simple
Feeling 21:11 oh.. could i see the html or javascript code?
dougma 21:11 the html is just the same, reference the .cab with the codebase attribute
Feeling 21:11 um.. right..
how about other brwoser?(firefox, opera, chrome, etc..)
dougma 22:11 they get a link to download an msi
Feeling 22:11 i was put this code because auto download.
document.write('<META HTTP-EQUIV="Refresh" CONTENT="0; URL='+url+'"/>');
taxilian 22:11 dougma: I'd really love to see some docs on the wiki on how you did the msi-in-a-cab thing
I know it's possible, but don't know how to do it =]
dougma 22:11 ok
Feeling 22:11 taxilian: msi is very slow to finish setup for some few computer. do you know about that?
dougma 22:11 is my wiki username/password the same as jira username/password?
whatever... reset
Feeling 22:11 hmm. where is the wiki?
taxilian 22:11 dougma: yes, the usernames are the same
Feeling: www.firebreath.org is a wiki
dougma 22:11 who said "Unfortunately, CAB files don't always work well for upgrades."?
taxilian 22:11 I have no idea
dougma 22:11 i don't dispute but citation would be interesting. :)
taxilian 22:11 actually… maybe I did
a long time ago
the problem is that my last experience with cab files left so many scars that I have blanked it from my memory ;-)
oh, wait… I know why
because in order to do it you'd have to use a CLSID and change the CLSID with the upgrade
because the cab prompt isn't going to pop up when the plugin is already installed
dougma 22:11 did you use "#version=a,b,c,d" on the codebase url to update
?
taxilian 22:11 I honestly don't remember; it's been, like, 3 years
it may also be that we just didn't know enough about it, I suppose
dougma 22:11 that works well in my experience
taxilian 22:11 cool
Feeling 22:11 probably that works well, in my experiece too
i tried to detecting finish install when user download and excuting msi file.
use SetTimeout and Javascript::OnError
dougma 22:11 i just queried the plugins collection every second
Feeling 22:11 but, some computer doesn't processing faster.
(old computer)
so, i think can reslove that problem using cab.
dougma 22:11 computer speed doesn't matter because you just loop until it's there
Feeling 22:11 no, my way is insert object tag interval 500ms. probably that(my way) is wrong. your way is right.
insert object tag untill no ocurr onError.
dougma 22:11 maybe we did that on IE (which doesn't have a plugins collection). i'm not sure.
(I think we give IE users an msi link too, because they may have settings which reject the cab)
taxilian 22:11 I usually use new ActiveXObject; it seems to be a bit faster
Feeling 22:11 i'm not use cab. maybe, you don't under stand becasue i don't write english very well
check this code
http://goo.gl/bZ26S
that is wrong code.
dougma 22:11 oh ok... i'll stop trying to understand it. :)
Feeling 22:11 :) i want to say. my code is wrong :(
dougma 22:11 http://www.firebreath.org/display/documentation/Deploying+and+updating+your+plugin
ok! i'll take another look. :)
how come some of the global symbol names are mangled? like g_callback_isInstalled_on_IE___FC83FCE2_785C_4b55_B5D0_9C0B10AEAF4F?
makes it hard to read!
anyway, i gotta go for a bit.
Feeling 22:11 hm. ok.
taxilian 22:11 dougma: looks good
thanks
Feeling 22:11 dougma: that use only callback and plugin name.
maybe, there has diffrent way. but, i don't know how to that.
just see 2 function.
is_new_in_ie
onIEPluginError_BEB877C0_5D79_47a3_9A89_4A4BD388E0E9
old computer doesn't process that code faster.
dougma 23:11 isn't thr problem that waitForInstall does not wat?
wat = wait
thr = the
on the IE code-path there is no waiting going on.
Feeling 23:11 has problem in waitforinstall.
IE rendering speed is slower than occur OnError
dougma 23:11 ok, so then onerror calls back on callback which is installDone!
which is wrong.
Feeling 23:11 onIEPluginError_BEB877C0_5D79_47a3_9A89_4A4BD388E0E9
window.setTimeout(
dougma 23:11 oh wait.
yes
Feeling 23:11 is_new_in_ie
dougma 23:11 your global variables are confusing me again
sorry, i give up.
Feeling 23:11 oh...i can't find different way. becase some other developer redefine same name.
oh.. i see.. :(
dougma 23:11 try taxilian's new ActiveXObject approach
then you don't have to mess around with inserting elements and creating global event handlers
Feeling 23:11 hm.. is_new_in_ie -> onError -> is_new_in_ie -> onError -> is_new_in_ie -> onError ( when until finish the setup from user ).... n... -> onLoad ( done ). the problem is is_new_in_ie and onError called multiple time by setimeout interval
anyways.
i will chagne using cab :) thanks dougma
dougma 23:11 well... ok but i'm worried your trading one set of problems for another.
like what about IE users who have disallowed .cab files?
Feeling 23:11 no
dougma 23:11 and cab files must be signed (though presumably you were already signing your msi too)
Feeling 23:11 yeah, i know using cab.
i just approching different ways.
dougma 23:11 ok, good luck