ValeryVal Posted May 19, 2010 Posted May 19, 2010 FF requires solely the correct encoding statement in 'tldoc-view.css' - this doesn't matter though because 'tldoc-view.html' is only used in internal view, which is embedded IE.My default browser is FF and after exporting it will expose the result. It's true, isn't it? This is the only reason to speak about FF style and encoding. This ini works fine for me: [Plugin] name=HTML (my file) category=export type=XSLExport [XSLExport] ext=html xslt=%tldxsldir%tldoc-html-single-my.xsl splitOnBoundaries=0 copyResources=Icons,Images displayResult=1 [CopyIcons] src=%tldresdir%icons\* dest=icons\ [CopyImages] src=%tldxsldir%mine\images\* dest=images\ The line of ini file: xslt=mine\tldoc-html-single-my.xsl is invalid (although tldoc-html-single-my.xsl exists in mine folder) I'm copied tldoc-html-single-my.xsl into %tldxsldir% folder. BTW au3 constants export works fine, too. The point of world view
ValeryVal Posted May 19, 2010 Posted May 19, 2010 It is not that simple. COM has its own globalization layer controlled by LCID and it can change not only the doc string but the appearance of a TypeLib/component entirely. The names of types, methods, properties can be different or even not present in a certain locale. Currently TypeLibDocumenter supports only the default locale (user/system) and I am not sure yet what shape the view on globalization layers should assume but it is definitely subject for a future release.What is about SQLiteDB using for storage of COM docs. Then users could translate content directly in fields of tables. See SQLite.au3 and SQLite Manager for FF. The point of world view
doudou Posted May 23, 2010 Author Posted May 23, 2010 The line of ini file: xslt=mine\tldoc-html-single-my.xsl is invalid (although tldoc-html-single-my.xsl exists in mine folder) It's perfectly valid, you need to modify the paths to includes and imports in the XSL of course or copy them to 'mine' folder as well. UDFS & Apps: Spoiler DDEML.au3 - DDE Client + ServerLocalization.au3 - localize your scriptsTLI.au3 - type information on COM objects (TLBINF emulation)TLBAutoEnum.au3 - auto-import of COM constants (enums)AU3Automation - export AU3 scripts via COM interfacesTypeLibInspector - OleView was yesterday Coder's last words before final release: WE APOLOGIZE FOR INCONVENIENCE
doudou Posted May 23, 2010 Author Posted May 23, 2010 Version 0.0.2 relased (s. top post). UDFS & Apps: Spoiler DDEML.au3 - DDE Client + ServerLocalization.au3 - localize your scriptsTLI.au3 - type information on COM objects (TLBINF emulation)TLBAutoEnum.au3 - auto-import of COM constants (enums)AU3Automation - export AU3 scripts via COM interfacesTypeLibInspector - OleView was yesterday Coder's last words before final release: WE APOLOGIZE FOR INCONVENIENCE
ValeryVal Posted May 24, 2010 Posted May 24, 2010 It's perfectly valid, you need to modify the paths to includes and imports in the XSL of course or copy them to 'mine' folder as well. This html-test.ini plugin works fine: [Plugin] name=HTML (test my file) category=export type=XSLExport [XSLExport] ext=html xslt=mine\tldoc-html-single-my.xsl splitOnBoundaries=0 copyResources=Icons,Images displayResult=1 [CopyIcons] src=%tldresdir%icons\* dest=icons\ [CopyImages] src=mine\images\* dest=images\ with these files in folder conf/plugins/mine of TypeLibDocumenter root: 1. tldoc-defs.inc.xml 2. tldoc-html-common.inc.xsl 3. tldoc-html-functions.inc.xsl 4. tldoc-html-single-my.xsl It seems I have some duplicates there. Is this structure folder optimal and clear for you? The point of world view
doudou Posted May 24, 2010 Author Posted May 24, 2010 (edited) with these files in folder conf/plugins/mine of TypeLibDocumenter root: 1. tldoc-defs.inc.xml 2. tldoc-html-common.inc.xsl 3. tldoc-html-functions.inc.xsl 4. tldoc-html-single-my.xsl It seems I have some duplicates there. Is this structure folder optimal and clear for you? If you aren't going to make modifications to XSL includes you can reuse the ones built in TypeLibDocumenter, in this case you'll have to change the URI accordingly. The only problem is that <xsl:import/> and <xsl:include/> only support literal strings in href attribute and cannot be parametrized, therefore you will need 2 different versions, one for dev. environment: <xsl:stylesheet> <xsl:import href="../../../res/xsl/tldoc-html-common.inc.xsl"/> <xsl:include href="../../../res/xsl/tldoc-html-functions.inc.xsl"/> </xsl:stylesheet> and one for distribution package: <xsl:stylesheet> <xsl:import href="../../xsl/tldoc-html-common.inc.xsl"/> <xsl:include href="../../xsl/tldoc-html-functions.inc.xsl"/> </xsl:stylesheet> The idea behind custom plugins having all their dependencies in plugins sub-directory was to allow writing and distributing them independently from TypeLibInspector by people who might even have no idea about AutoIt. You approach with tldoc-html-single-my.xsl in res/xsl is still OK but it has the disadvantage that it has to be packaged and distributed along with the application. Edited May 6, 2013 by doudou UDFS & Apps: Spoiler DDEML.au3 - DDE Client + ServerLocalization.au3 - localize your scriptsTLI.au3 - type information on COM objects (TLBINF emulation)TLBAutoEnum.au3 - auto-import of COM constants (enums)AU3Automation - export AU3 scripts via COM interfacesTypeLibInspector - OleView was yesterday Coder's last words before final release: WE APOLOGIZE FOR INCONVENIENCE
jaberwacky Posted May 25, 2010 Posted May 25, 2010 You have a talent for making programs that I have no idea what they do! Helpful Posts and Websites: AutoIt3 Variables and Function Parameters MHz | AutoIt Wiki | Using the GUIToolTip UDF BrewManNH | Can't find what you're looking for on the Forum?
doudou Posted May 25, 2010 Author Posted May 25, 2010 (edited) You have a talent for making programs that I have no idea what they do!Hmm... Shall I take it as offense or compliment?If you are honestly curious about possible applications of TypeLibInspector I'll gladly provide some hints. However, if your remark was just your way to say: "I don't need this crap!" I would be wasting my breath (or finger motion). Edited May 6, 2013 by doudou UDFS & Apps: Spoiler DDEML.au3 - DDE Client + ServerLocalization.au3 - localize your scriptsTLI.au3 - type information on COM objects (TLBINF emulation)TLBAutoEnum.au3 - auto-import of COM constants (enums)AU3Automation - export AU3 scripts via COM interfacesTypeLibInspector - OleView was yesterday Coder's last words before final release: WE APOLOGIZE FOR INCONVENIENCE
jaberwacky Posted May 25, 2010 Posted May 25, 2010 Compliment of course! I guess I should have fleshed out my post some more. Yes please, will you provide some usage hints? Helpful Posts and Websites: AutoIt3 Variables and Function Parameters MHz | AutoIt Wiki | Using the GUIToolTip UDF BrewManNH | Can't find what you're looking for on the Forum?
ValeryVal Posted May 25, 2010 Posted May 25, 2010 The idea behind custom plugins having all their dependencies in plugins sub-directory was to allow writing and distributing them independently from TypeLibDocumenter.You are right. Thank you.I'm waiting other template to wrap COM interfaces into Au3 code. It will very useful to have some profound example for experience and skill accumulation.This one can be the MS COM objects provided by known Microsoft Graph.exe, I think. The point of world view
doudou Posted July 23, 2010 Author Posted July 23, 2010 Just released version 0.0.3 of TypeLibDocumenter. Also added plugin for wrapper export for JaCoB (JAva-COm Bridge). UDFS & Apps: Spoiler DDEML.au3 - DDE Client + ServerLocalization.au3 - localize your scriptsTLI.au3 - type information on COM objects (TLBINF emulation)TLBAutoEnum.au3 - auto-import of COM constants (enums)AU3Automation - export AU3 scripts via COM interfacesTypeLibInspector - OleView was yesterday Coder's last words before final release: WE APOLOGIZE FOR INCONVENIENCE
doudou Posted July 29, 2010 Author Posted July 29, 2010 Having released version 0.1.0 I decided to give the whole thing a prettier name, so from now on it's called TypeLibInspector. UDFS & Apps: Spoiler DDEML.au3 - DDE Client + ServerLocalization.au3 - localize your scriptsTLI.au3 - type information on COM objects (TLBINF emulation)TLBAutoEnum.au3 - auto-import of COM constants (enums)AU3Automation - export AU3 scripts via COM interfacesTypeLibInspector - OleView was yesterday Coder's last words before final release: WE APOLOGIZE FOR INCONVENIENCE
junkew Posted January 27, 2013 Posted January 27, 2013 When I use typelib inspector for dll UIAutomationCore.dll I have the feeling it generates something incorrect searching on *getrootelement* I only get the cached version pretty sure there is a getRootElement function as its the desktop see see http://msdn.microsoft.com/en-us/library/windows/desktop/ee671544(v=vs.85).aspx defect in type lib inspector? FAQ 31 How to click some elements, FAQ 40 Test automation with AutoIt, Multithreading CLR .NET Powershell CMDLets
junkew Posted January 28, 2013 Posted January 28, 2013 (edited) seems to be excluding when dispid isQueryInterface dispid 1610612736;AddRef: dispid 1610612737;Release: dispid 1610612738;GetTypeInfoCount dispid 1610678272;GetTypeInfo dispid 1610678273;GetIDsOfNames dispid 1610678274;Invoke dispid 1610678275;with uiautomationcore.dll this seems to misbehaveremoved this line in TypeDoc.AU3;~If "IUnknown" <> $info.Name And "IDispatch" <> $info.Name And StringInStr($TYPEDOC_STDMEMB_IGNORE, "|" & $objSubinfo.MemberId & "|") Then ContinueLoopissue with enum not starting with right offset numbers in generated XMLshould have for UIA_PatternIds;[size=4] UIA_InvokePatternId = 10000,[/size] UIA_SelectionPatternId = 10001, UIA_ValuePatternId = 10002, UIA_RangeValuePatternId = 10003,now values start everytime on sequence of 1 whereas this is not the case Edited January 28, 2013 by junkew FAQ 31 How to click some elements, FAQ 40 Test automation with AutoIt, Multithreading CLR .NET Powershell CMDLets
doudou Posted May 6, 2013 Author Posted May 6, 2013 seems to be excluding when dispid is QueryInterface dispid 1610612736; AddRef: dispid 1610612737; Release: dispid 1610612738; GetTypeInfoCount dispid 1610678272; GetTypeInfo dispid 1610678273; GetIDsOfNames dispid 1610678274; Invoke dispid 1610678275; with uiautomationcore.dll this seems to misbehave removed this line in TypeDoc.AU3 ;~If "IUnknown" <> $info.Name And "IDispatch" <> $info.Name And StringInStr($TYPEDOC_STDMEMB_IGNORE, "|" & $objSubinfo.MemberId & "|") Then ContinueLoop This line is protection from TypeLibs that (illegally) declare methods of IDispatch/IUnknown as part of their own internal interfaces, if we don't ignore them here, we can end in an endless loop. Apparently uiautomationcore.dll is quite ill-programmed, what does OleView say on this topic? UDFS & Apps: Spoiler DDEML.au3 - DDE Client + ServerLocalization.au3 - localize your scriptsTLI.au3 - type information on COM objects (TLBINF emulation)TLBAutoEnum.au3 - auto-import of COM constants (enums)AU3Automation - export AU3 scripts via COM interfacesTypeLibInspector - OleView was yesterday Coder's last words before final release: WE APOLOGIZE FOR INCONVENIENCE
Bluesmaster Posted November 13, 2013 Posted November 13, 2013 As I can see from screenshot, this is a great tool and just what I need. But how to get this to run (win 8.1 x64, newest autoit) ? When trying to run "TypeLibInspector64.au3" its missing autolt_object.au3 and TLI.au3 ok...understandable downloaded absolutly everything from '?do=embed' frameborder='0' data-embedContent>> and '?do=embed' frameborder='0' data-embedContent>> and copied it in the directory of "TypeLibInspector64.au3" but I still get a lot of errors as: "...possibly used before declaration" and "undefined fcn errors" Can't you provide a step by steb instruction for dummys. Or better provide a compiled version for those who trust you and do not need the insights of those dozend files? this would be abolutly great. Thanks a thousand. Blues My UDF: [topic='156155']_shellExecuteHidden[/topic]
junkew Posted January 12, 2014 Posted January 12, 2014 (edited) I compiled with latest AutoIT version 3.3.10.2 and lots of compile issues fixed in app.au3 see code changed below and added the search path in the registry to the location of the needed packages There is a special registry value that can be created at "HKEY_CURRENT_USERSoftwareAutoIt v3AutoIt" called "Include". It should be a REG_SZ (string) value. The contents of this value are a semi-colon delimited list of directories that should be searched for files when resolving #include's in addition to the standard locations. ..downloadsau3_TLIDirect_1.0.6;..downloadsAutoItObject Package 1.2.8.3 fixes in start of app.au3 file expandcollapse popup; ------------------------------------------------------------------------------ ; ; Version: 0.1.0 ; AutoIt Version: 3.3.4.0 ; Language: English ; Author: doudou ; License: GNU/GPL, s. LICENSE.txt ; Description: Main executable for TypeLibInspector. ; $Revision: 1.4 $ ; $Date: 2010/07/29 14:24:18 $ ; ; ------------------------------------------------------------------------------ ;~ All below moved to top before includes Global $app_objTLI = 0 ; moved up Global $app_objIE = 0 ; moved up Global $app_optResDir = @ScriptDir & "\..\..\res\" ; moved up If @compiled Then $app_optResDir = @ScriptDir & "\" ; moved up Global $app_optIconDir = $app_optResDir & "icons\" ; moved up Global $app_history = 0 ; moved up Global $app_historyCurr = -1 ; moved up Global $app_objTypeLib = 0 ; moved up ;~ end moved up Global $frmMain_status Global $node Global $frmMain #NoTrayIcon Opt("TrayIconHide", 1) #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <EditConstants.au3> #include <GuiStatusBar.au3> #include <GuiTreeView.au3> #include <GuiImageList.au3> #include <GuiMenu.au3> #include <WinAPILangConstants.au3> ; added #include <TLIInterfaces.au3> ; added #include <TLI.au3> Global Const $APPMB_FATAL = BitOr($MB_OK, $MB_ICONHAND) ; moved up Global Const $APPMB_ERROR = BitOr($MB_OK, $MB_ICONEXCLAMATION) ; moved up Global Const $APPMB_INFO = BitOr($MB_OK, $MB_ICONASTERISK) ; moved up Global Const $APPMB_YESNO = BitOr($MB_YESNO, $MB_ICONQUESTION) ; moved up #include "Product.au3" #include "Utils.au3" #include "TypeDoc.au3" #include "FrmMain.au3" #include "Plugin.au3" #include "PagingStack.au3" Global Const $PROGID_MSXMLDOC = "MSXML2.DOMDocument" Global Const $OBJ_NULL = 0 Global Const $APP_PARAM_SELTYPE = "--selectType=" Global $app_tviRoot = 0 Global $app_hImlTypes = 0 Global $app_objXSLProc = 0 Global $app_objFoundNodes = 0 Global $app_iFindNext = 0 Global $app_strFind ="" Global $app_objError = ObjEvent("AutoIt.Error", "App_OnError") Global $app_objIEEvent = 0 Global $app_historyNav = False Global $app_optXSLDir = $app_optResDir & "xsl\" Global $app_optUseTLBINF = 1 Global $app_optHistoryMax = 10 Main() Edited January 12, 2014 by junkew StoneFree 1 FAQ 31 How to click some elements, FAQ 40 Test automation with AutoIt, Multithreading CLR .NET Powershell CMDLets
StoneFree Posted November 13, 2014 Posted November 13, 2014 Thanks Universalist, spent ages trying to get this to work about 6 months ago, but got nowhere fast. Followed your instructions and have successfully produced the exe.
junkew Posted December 30, 2018 Posted December 30, 2018 Still works nicely with AutoIt 3.3.14.5 FAQ 31 How to click some elements, FAQ 40 Test automation with AutoIt, Multithreading CLR .NET Powershell CMDLets
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now