Wx::ActiveX install problem on Strawberry 5.10.0.6
Hi all, I was having some problems upgrading to 0.92 on Windows yesterday; my Strawberry install seemed broken so I reinstalled from scratch with the .msi. After installing Alien::wxWidgets and Wx-0.92 though, I'm not able to install Wx::ActiveX [1]. Neither the README.txt nor a brief look over the wxWidgets class docs for wxActiveXContainer and wxActiveXEvent indicate that I need to do anything special to 'get' wxActiveX built on Windows. README.txt says If you have built your own Alien::wxWidgets ... then the standard methods should work: and says that Strawberry only requires a straight-forward perl Makefile.PL, dmake, test, install. However, I get a string of errors, attached below and also pastecoded: http://paste.ideaslabs.com/show/cDcRYWNZU3 Any advice on what could be causing this error would be greatly appreciated. Many thanks, -- Ryan [1] I want to install it to hopefully run a demo and see how it makes the wxActiveX events available to wxPerl, so I can do the same thing for Wx::WebKit. I've been reading the code, it's just tricky because it's got a code generation thing going on [1], and it's a bit hard to get a handle on what the code looks like as a whole. I've seen there's the need for something called Wx::NewEventType, just not how to use it exactly. It looks like there's some debugging flag I'll be able to set to get the generated code dumped out somewhere though. See sub activex_get_event_types and activex_get_event_code: http://cpansearch.perl.org/src/MDOOTSON/Wx-ActiveX-0.10/lib/Wx/ActiveX.pm g++ -fvtable-thunks -O2 -mthreads -Os -c -I. -IC:\strawberry\perl\site\lib\Wx -IC:\strawberry\perl\site\lib\Alien\wxWidgets\msw_2_8_10_uni_gcc_3_4\lib -IC:\strawberry\perl\site\lib\Alien\wxWidgets\msw_2_8_10_uni_gcc_3_4\include -IC:\strawberry\perl\site\lib\Alien\wxWidgets\msw_2_8_10_uni_gcc_3_4\include -s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_MSVCRT_READFIX -s -O2-DVERSION=\0.10\ -DXS_VERSION=\0.10\ -IC:\strawberry\perl\lib\CORE -DWXPL_EXT -DHAVE_W32API_H -D__WXMSW__ -D_UNICODE -DWXUSINGDLL -DNOPCH -DNO_GCC_PRAGMA ActiveX.c cc1plus.exe: warning: switch -fvtable-thunks is no longer supported In file included from C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ios:49, from C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ostream:45, from C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostream:45, from ./cpp/wxactivex.h:75, from ./cpp/wxactivex.cpp:59, from ActiveX.xs:22: C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ios_base.h:395:42: macro PerlDir_seek requires 2 arguments, but only 1 given In file included from C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ios:49, from C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ostream:45, from C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostream:45, from ./cpp/wxactivex.h:75, from ./cpp/wxactivex.cpp:59, from ActiveX.xs:22: C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ios_base.h:395: error: expected primary-expression before ';' token C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ios_base.h:398:49: macro PerlDir_seek requires 2 arguments, but only 1 given C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ios_base.h:398: error: expected primary-expression before ';' token C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ios_base.h:401:49: macro PerlDir_seek requires 2 arguments, but only 1 given C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/ios_base.h:401: error: expected primary-expression before ';' token In file included from C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/basic_ios.h:44, from C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ios:51, from C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/ostream:45, from C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/iostream:45, from ./cpp/wxactivex.h:75, from ./cpp/wxactivex.cpp:59, from ActiveX.xs:22: C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/locale_facets.h:4306: error: expected `)' before '(' token C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/locale_facets.h:4306: error: expected `)' before '(' token In file included from C:/MinGW/bin/../lib/gcc/mingw32/3.4.5/../../../../include/c++/3.4.5/bits/basic_ios.h:44, from C:/MinGW/bin/../lib/gcc/mingw32/3.4.5
Re: Wx::ActiveX install problem on Strawberry 5.10.0.6
Hi, Ryan Jendoubi wrote: After installing Alien::wxWidgets and Wx-0.92 though, I'm not able to install Wx::ActiveX [1]. Any advice on what could be causing this error would be greatly appreciated. Apologies, but it seems that I did not release updates to CPAN the last time I made changes. If you download the source from SVN (it is in the wxPerl repository), that should work - I'll get around to updating CPAN soon. I don't think you are interested in the dynamic aspects and code creation parts of wxActiveX. I think you should use as your template cpp/wxIEHtmlWin. To make this work for wxPerl, first steps are in cpp/PlActiveX.h wxPerl provides macros for you to use in creating object classes. The source code for wxPerl is full of examples. In the case of wxIEHtmlWin, there is just the basic minimum window setup. Next steps are in XS/IEHtmlWin.xs Note the constructor wxIEHtmlWin::new returns an object of type wxPliIEHtmlWin which we defined with the macros in cpp/PlActiveX.h. Next steps - ActiveX.xs for basic includes. Next step - typemap - tell the compiler about your types. Final step - standard loading for xs portion of a module - though you should probably use Wx::wx_boot( 'Wx::Webkit', $VERSION ) ; rather than XSLoader directly. You mentioned looking at the way activex events were handled. Again, I don't think this is what you want. With wxWebkit, I assume you already know at compile time which events you are interested in. Hope some of this helps. Mark
Wx::ActiveX
Hi, I have 2 questions regarding the use of ActiveX under WxPerl. I've seen that Wx::ActiveX is much more developed than Win32::GUI::AxWindow. With Win32::GUI::AxWindow it was possible to display a page created by the program, and not only to view a remote URL or external file. Is this possible with Wx::ActiveX? (I need to use ActiveX because the HTML widget is not accessible for screen readers at all.) The second question might be a little more complicated, because it might be a problem that is not of Wx::Activex. I've displayed the page of Google using Wx::ActiveX, and I've tried to search something with the search engine, but I could search only by clicking the Google search button. If I just hit enter, it doesn't work. Do you have any idea if there is a way to make it work like Internet Explorer works? Should I make some settings to the ActiveX object? Or do I need to define some aditional event handlers to be able to send a form by just pressing enter on an edit field? Thank you. Octavian
Re: Wx::ActiveX - Acrobat etc.
Hi, The XS code has been updated. The particular issue with Win32::OLE is solved using the code / solution you mentioned. Eric Wilhelm had a working solution so I incorporated that. Wx::ActiveX::Flash simply loads ProgID 'ShockwaveFlash.ShockwaveFlash', which would currently load version 9. I think that the thing to do (though more experienced ActiveX- er's might correct me) if you wish to handle changes across versions is to load a specific version of the type library. Then, assuming that the producers of the ActiveX Control maintain backward compatibility, you would always get the interface you expected. So, in your case, if the control had been loading 'ShockwaveFlash.ShockwaveFlash.8' then the change to '9' should not have affected you. Hmmm. So, you would need to have created your own 'Flash' ActiveX wrapper that was typelib version specific to get around this problem. I feel a version '0.10' release looming that allows you to specify a typelib version for the ProgId in the constructor. Regards Mark Donovan Allen wrote: Thanks for working on this. The project I used Wx-ActiveX in is being re-written in another language now ( sadly I am not using perl very often since my target OS is now mostly windows and the perl win32 modules just are not a priority in the perl world) , but was curious if the C++ code got updated or if this is all changes to the perl modules only. I had made some cutom changes (stolen directly from a recent Win32::GUI ActiveX ... which the Wx was originally based on) that resolved some issues I was having with the Wx version a couple of years ago...such as Win32::OLE compatibility issues and a couple other things ... and the issue was mentioned on this list at some point what the suggested solution was. Also curious if the Wx::ActiveX::Flash is able to use the most recent version of flash. I know this was an issue from Flash version 8 to version 9 (I think anyway...need to check notes) and after client upgraded flash (because it prompts you to) their kiosks stopped working. Instead of resolving it properly at the time, I just had them migrate back to the previous version since they didn't have need for the upgrade. From: Mark Dootson [EMAIL PROTECTED] Sent: Thursday, April 10, 2008 1:45 PM To: wxperl-users@perl.org Subject: Wx::ActiveX - Acrobat etc. Hi Wx-ActiveX 0.09 is released http://search.cpan.org/~mdootson/Wx-ActiveX-0.09/ and http://www.wxperl.co.uk/Wx-ActiveX-0.09.tar.gz Wx:ActiveX::Acrobat now works and the interface is documented in pod. This is perhaps the most useful part of the library working again :-). It was just a case of reading the manual. Examples for Acrobat, Flash, Media Player, MS Script Control, IE Explorer and Mozilla Browser are in the Wx::Demo module that is installed. Barring bugs, that is hopefully it for a while. I can't think of anything else that could be usefully added. Having working Acrobat and IE modules covers 99% of use I would have thought. Regards Mark
Wx::ActiveX - Acrobat etc.
Hi Wx-ActiveX 0.09 is released http://search.cpan.org/~mdootson/Wx-ActiveX-0.09/ and http://www.wxperl.co.uk/Wx-ActiveX-0.09.tar.gz Wx:ActiveX::Acrobat now works and the interface is documented in pod. This is perhaps the most useful part of the library working again :-). It was just a case of reading the manual. Examples for Acrobat, Flash, Media Player, MS Script Control, IE Explorer and Mozilla Browser are in the Wx::Demo module that is installed. Barring bugs, that is hopefully it for a while. I can't think of anything else that could be usefully added. Having working Acrobat and IE modules covers 99% of use I would have thought. Regards Mark
Wx::ActiveX
All, as discussed here in the past, http://www.nntp.perl.org/group/perl.wxperl.users/2007/08/msg5392.html I am going to mail [EMAIL PROTECTED] to request co-maintainership for the module. Regards Mark
Re: Wx::ActiveX future
Hi, Octavian Rasnita wrote: Can the ActiveX WX widget be used for creating an Internet Explorer browser object? Yes it can. See Wx::ActiveX::IE Regards Mark