Closed Cupidazul closed 4 years ago
hi Durs, in fact, if you test it, you'll find out that they are not the same. the information that is returned in "ppTinfo" is more extensive when we retrieve all methods .
info->GetContainingTypeLib(&typelib, &typeindex) typelib->GetTypeInfo(typeindex, &ppTinfo);
in these two lines of code we fetch the 'parent' TypeInfo ... then we use 'ppTinfo' instead of just 'info':
TypeInfoPrepareFunc
also 'typeindex' plays an important role here, it is retuned by GetContainingTypeLib. my test results are very different, before, and after the patch, the '__methods' object is increased by allot !
I would agree with you that (info == ppTinfo), but if you test it, you'll see for yourself. I know, it sounds strange. but it works like magic.
I checked the Excel.Application object, but did not find the difference, and then looked at the values of memory addresses, they match (in the VC++ debugger), which is quite logical
вт, 14 апр. 2020 г. в 13:45, Cupid@zul notifications@github.com:
hi Durs, in fact, if you test it, you'll find out that they are not the same. the information that is returned in "ppTinfo" is more extensive when we retrieve all methods .
info->GetContainingTypeLib(&typelib, &typeindex) typelib->GetTypeInfo(typeindex, &ppTinfo);
in these two lines of code we fetch the 'parent' TypeInfo ... thene use 'ppTinfo' instead of just 'info': TypeInfoPrepareFunc(ppTinfo, n, process); TypeInfoPrepareFunc(info, n, process);
my test results are very different, before, and after the patch, the '__methods' object is increased by allot !
— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/durs/node-activex/pull/72#issuecomment-613365681, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEMMNMBSHEFYWQJTSDXQ4TRMQ5ETANCNFSM4MG3PCRQ .
have you tried the "InternetExplorer.Application" ? I'll try the 'Excel.Application' here.
I see what you mean... you are correct, for the Excel.Application there is no change. But for InternetExplorer.Application there is. bellow my tests.
var appIe = module.exports.ActiveXObject('Excel.Application'); BEFORE and AFTER, ok : 327 methods.
__methods: { QueryInterface: [Object], AddRef: [Object], Release: [Object], GetTypeInfoCount: [Object], GetTypeInfo: [Object], GetIDsOfNames: [Object], Invoke: [Object], Application: [Object], Creator: [Object], Parent: [Object], ActiveCell: [Object], ActiveChart: [Object], ActiveDialog: [Object], ActiveMenuBar: [Object], ActivePrinter: [Object], ActiveSheet: [Object], ActiveWindow: [Object], ActiveWorkbook: [Object], AddIns: [Object], Assistant: [Object], Calculate: [Object], Cells: [Object], Charts: [Object], Columns: [Object], CommandBars: [Object], DDEAppReturnCode: [Object], DDEExecute: [Object], DDEInitiate: [Object], DDEPoke: [Object], DDERequest: [Object], DDETerminate: [Object], DialogSheets: [Object], Evaluate: [Object], _Evaluate: [Object], ExecuteExcel4Macro: [Object], Intersect: [Object], MenuBars: [Object], Modules: [Object], Names: [Object], Range: [Object], Rows: [Object], Run: [Object], _Run2: [Object], Selection: [Object], SendKeys: [Object], Sheets: [Object], ShortcutMenus: [Object], ThisWorkbook: [Object], Toolbars: [Object], Union: [Object], Windows: [Object], Workbooks: [Object], WorksheetFunction: [Object], Worksheets: [Object], Excel4IntlMacroSheets: [Object], Excel4MacroSheets: [Object], ActivateMicrosoftApp: [Object], AddChartAutoFormat: [Object], AddCustomList: [Object], AlertBeforeOverwriting: [Object], AltStartupPath: [Object], AskToUpdateLinks: [Object], EnableAnimations: [Object], AutoCorrect: [Object], Build: [Object], CalculateBeforeSave: [Object], Calculation: [Object], Caller: [Object], CanPlaySounds: [Object], CanRecordSounds: [Object], Caption: [Object], CellDragAndDrop: [Object], CentimetersToPoints: [Object], CheckSpelling: [Object], ClipboardFormats: [Object], DisplayClipboardWindow: [Object], ColorButtons: [Object], CommandUnderlines: [Object], ConstrainNumeric: [Object], ConvertFormula: [Object], CopyObjectsWithCells: [Object], Cursor: [Object], CustomListCount: [Object], CutCopyMode: [Object], DataEntryMode: [Object], Dummy1: [Object], Dummy2: [Object], Dummy3: [Object], Dummy4: [Object], Dummy5: [Object], Dummy6: [Object], Dummy7: [Object], Dummy8: [Object], Dummy9: [Object], Dummy10: [Object], Dummy11: [Object], _Default: [Object], DefaultFilePath: [Object], DeleteChartAutoFormat: [Object], DeleteCustomList: [Object], Dialogs: [Object], DisplayAlerts: [Object], DisplayFormulaBar: [Object], DisplayFullScreen: [Object], DisplayNoteIndicator: [Object], DisplayCommentIndicator: [Object], DisplayExcel4Menus: [Object], DisplayRecentFiles: [Object], DisplayScrollBars: [Object], DisplayStatusBar: [Object], DoubleClick: [Object], EditDirectlyInCell: [Object], EnableAutoComplete: [Object], EnableCancelKey: [Object], EnableSound: [Object], EnableTipWizard: [Object], FileConverters: [Object], FileSearch: [Object], FileFind: [Object], _FindFile: [Object], FixedDecimal: [Object], FixedDecimalPlaces: [Object], GetCustomListContents: [Object], GetCustomListNum: [Object], GetOpenFilename: [Object], GetSaveAsFilename: [Object], Goto: [Object], Height: [Object], Help: [Object], IgnoreRemoteRequests: [Object], InchesToPoints: [Object], InputBox: [Object], Interactive: [Object], International: [Object], Iteration: [Object], LargeButtons: [Object], Left: [Object], LibraryPath: [Object], _MacroOptions: [Object], MailLogoff: [Object], MailLogon: [Object], MailSession: [Object], MailSystem: [Object], MathCoprocessorAvailable: [Object], MaxChange: [Object], MaxIterations: [Object], MemoryFree: [Object], MemoryTotal: [Object], MemoryUsed: [Object], MouseAvailable: [Object], MoveAfterReturn: [Object], MoveAfterReturnDirection: [Object], RecentFiles: [Object], Name: [Object], NextLetter: [Object], NetworkTemplatesPath: [Object], ODBCErrors: [Object], ODBCTimeout: [Object], OnCalculate: [Object], OnData: [Object], OnDoubleClick: [Object], OnEntry: [Object], OnKey: [Object], OnRepeat: [Object], OnSheetActivate: [Object], OnSheetDeactivate: [Object], OnTime: [Object], OnUndo: [Object], OnWindow: [Object], OperatingSystem: [Object], OrganizationName: [Object], Path: [Object], PathSeparator: [Object], PreviousSelections: [Object], PivotTableSelection: [Object], PromptForSummaryInfo: [Object], Quit: [Object], RecordMacro: [Object], RecordRelative: [Object], ReferenceStyle: [Object], RegisteredFunctions: [Object], RegisterXLL: [Object], Repeat: [Object], ResetTipWizard: [Object], RollZoom: [Object], Save: [Object], SaveWorkspace: [Object], ScreenUpdating: [Object], SetDefaultChart: [Object], SheetsInNewWorkbook: [Object], ShowChartTipNames: [Object], ShowChartTipValues: [Object], StandardFont: [Object], StandardFontSize: [Object], StartupPath: [Object], StatusBar: [Object], TemplatesPath: [Object], ShowToolTips: [Object], Top: [Object], DefaultSaveFormat: [Object], TransitionMenuKey: [Object], TransitionMenuKeyAction: [Object], TransitionNavigKeys: [Object], Undo: [Object], UsableHeight: [Object], UsableWidth: [Object], UserControl: [Object], UserName: [Object], Value: [Object], VBE: [Object], Version: [Object], Visible: [Object], Volatile: [Object], _Wait: [Object], Width: [Object], WindowsForPens: [Object], WindowState: [Object], UILanguage: [Object], DefaultSheetDirection: [Object], CursorMovement: [Object], ControlCharacters: [Object], _WSFunction: [Object], EnableEvents: [Object], DisplayInfoWindow: [Object], Wait: [Object], ExtendList: [Object], OLEDBErrors: [Object], GetPhonetic: [Object], COMAddIns: [Object], DefaultWebOptions: [Object], ProductCode: [Object], UserLibraryPath: [Object], AutoPercentEntry: [Object], LanguageSettings: [Object], Dummy101: [Object], Dummy12: [Object], AnswerWizard: [Object], CalculateFull: [Object], FindFile: [Object], CalculationVersion: [Object], ShowWindowsInTaskbar: [Object], FeatureInstall: [Object], Ready: [Object], Dummy13: [Object], FindFormat: [Object], ReplaceFormat: [Object], UsedObjects: [Object], CalculationState: [Object], CalculationInterruptKey: [Object], Watches: [Object], DisplayFunctionToolTips: [Object], AutomationSecurity: [Object], FileDialog: [Object], Dummy14: [Object], CalculateFullRebuild: [Object], DisplayPasteOptions: [Object], DisplayInsertOptions: [Object], GenerateGetPivotData: [Object], AutoRecover: [Object], Hwnd: [Object], Hinstance: [Object], CheckAbort: [Object], ErrorCheckingOptions: [Object], AutoFormatAsYouTypeReplaceHyperlinks: [Object], SmartTagRecognizers: [Object], NewWorkbook: [Object], SpellingOptions: [Object], Speech: [Object], MapPaperSize: [Object], ShowStartupDialog: [Object], DecimalSeparator: [Object], ThousandsSeparator: [Object], UseSystemSeparators: [Object], ThisCell: [Object], RTD: [Object], DisplayDocumentActionTaskPane: [Object], DisplayXMLSourcePane: [Object], ArbitraryXMLSupportAvailable: [Object], Support: [Object], Dummy20: [Object], MeasurementUnit: [Object], ShowSelectionFloaties: [Object], ShowMenuFloaties: [Object], ShowDevTools: [Object], EnableLivePreview: [Object], DisplayDocumentInformationPanel: [Object], AlwaysUseClearType: [Object], WarnOnFunctionNameConflict: [Object], FormulaBarHeight: [Object], DisplayFormulaAutoComplete: [Object], GenerateTableRefs: [Object], Assistance: [Object], CalculateUntilAsyncQueriesDone: [Object], EnableLargeOperationAlert: [Object], LargeOperationCellThousandCount: [Object], DeferAsyncQueries: [Object], MultiThreadedCalculation: [Object], SharePointVersion: [Object], ActiveEncryptionSession: [Object], HighQualityModeForGraphics: [Object], FileExportConverters: [Object], SmartArtLayouts: [Object], SmartArtQuickStyles: [Object], SmartArtColors: [Object], AddIns2: [Object], PrintCommunication: [Object], MacroOptions: [Object], UseClusterConnector: [Object], ClusterConnector: [Object], Quitting: [Object], Dummy22: [Object], Dummy23: [Object], ProtectedViewWindows: [Object], ActiveProtectedViewWindow: [Object], IsSandboxed: [Object], SaveISO8601Dates: [Object], HinstancePtr: [Object], FileValidation: [Object], FileValidationPivot: [Object], ShowQuickAnalysis: [Object], QuickAnalysis: [Object], FlashFill: [Object], EnableMacroAnimations: [Object], ChartDataPointTrack: [Object], FlashFillMode: [Object], MergeInstances: [Object], EnableCheckFileExtensions: [Object] },
var appIe = module.exports.ActiveXObject('InternetExplorer.Application.1'); BEFORE: 12 methods __methods: { Navigate2: [Object], QueryStatusWB: [Object], ExecWB: [Object], ShowBrowserBar: [Object], ReadyState: [Object], Offline: [Object], Silent: [Object], RegisterAsBrowser: [Object], RegisterAsDropTarget: [Object], TheaterMode: [Object], AddressBar: [Object], Resizable: [Object] },
AFTER: 54 methods __methods: { QueryInterface: [Object], AddRef: [Object], Release: [Object], GetTypeInfoCount: [Object], GetTypeInfo: [Object], GetIDsOfNames: [Object], Invoke: [Object], GoBack: [Object], GoForward: [Object], GoHome: [Object], GoSearch: [Object], Navigate: [Object], Refresh: [Object], Refresh2: [Object], Stop: [Object], Application: [Object], Parent: [Object], Container: [Object], Document: [Object], TopLevelContainer: [Object], Type: [Object], Left: [Object], Top: [Object], Width: [Object], Height: [Object], LocationName: [Object], LocationURL: [Object], Busy: [Object], Quit: [Object], ClientToWindow: [Object], PutProperty: [Object], GetProperty: [Object], Name: [Object], HWND: [Object], FullName: [Object], Path: [Object], Visible: [Object], StatusBar: [Object], StatusText: [Object], ToolBar: [Object], MenuBar: [Object], FullScreen: [Object], Navigate2: [Object], QueryStatusWB: [Object], ExecWB: [Object], ShowBrowserBar: [Object], ReadyState: [Object], Offline: [Object], Silent: [Object], RegisterAsBrowser: [Object], RegisterAsDropTarget: [Object], TheaterMode: [Object], AddressBar: [Object], Resizable: [Object] },
OK, there really is a noticeable difference on the InternetExplorer object
on InternetExplorer.Application methods 71 vs 19 but on Excel.Application methods 467 vs 467 and same pointer
[image: image.png]
вт, 14 апр. 2020 г. в 14:27, Cupid@zul notifications@github.com:
I see what you mean... you are correct, for the Excel.Application there is no change. But for InternetExplorer.Application there is. bellow my tests.
var appIe = module.exports.ActiveXObject('Excel.Application'); BEFORE and AFTER, ok : 327 methods.
__methods: { QueryInterface: [Object], AddRef: [Object], Release: [Object], GetTypeInfoCount: [Object], GetTypeInfo: [Object], GetIDsOfNames: [Object], Invoke: [Object], Application: [Object], Creator: [Object], Parent: [Object], ActiveCell: [Object], ActiveChart: [Object], ActiveDialog: [Object], ActiveMenuBar: [Object], ActivePrinter: [Object], ActiveSheet: [Object], ActiveWindow: [Object], ActiveWorkbook: [Object], AddIns: [Object], Assistant: [Object], Calculate: [Object], Cells: [Object], Charts: [Object], Columns: [Object], CommandBars: [Object], DDEAppReturnCode: [Object], DDEExecute: [Object], DDEInitiate: [Object], DDEPoke: [Object], DDERequest: [Object], DDETerminate: [Object], DialogSheets: [Object], Evaluate: [Object], _Evaluate: [Object], ExecuteExcel4Macro: [Object], Intersect: [Object], MenuBars: [Object], Modules: [Object], Names: [Object], Range: [Object], Rows: [Object], Run: [Object], _Run2: [Object], Selection: [Object], SendKeys: [Object], Sheets: [Object], ShortcutMenus: [Object], ThisWorkbook: [Object], Toolbars: [Object], Union: [Object], Windows: [Object], Workbooks: [Object], WorksheetFunction: [Object], Worksheets: [Object], Excel4IntlMacroSheets: [Object], Excel4MacroSheets: [Object], ActivateMicrosoftApp: [Object], AddChartAutoFormat: [Object], AddCustomList: [Object], AlertBeforeOverwriting: [Object], AltStartupPath: [Object], AskToUpdateLinks: [Object], EnableAnimations: [Object], AutoCorrect: [Object], Build: [Object], CalculateBeforeSave: [Object], Calculation: [Object], Caller: [Object], CanPlaySounds: [Object], CanRecordSounds: [Object], Caption: [Object], CellDragAndDrop: [Object], CentimetersToPoints: [Object], CheckSpelling: [Object], ClipboardFormats: [Object], DisplayClipboardWindow: [Object], ColorButtons: [Object], CommandUnderlines: [Object], ConstrainNumeric: [Object], ConvertFormula: [Object], CopyObjectsWithCells: [Object], Cursor: [Object], CustomListCount: [Object], CutCopyMode: [Object], DataEntryMode: [Object], Dummy1: [Object], Dummy2: [Object], Dummy3: [Object], Dummy4: [Object], Dummy5: [Object], Dummy6: [Object], Dummy7: [Object], Dummy8: [Object], Dummy9: [Object], Dummy10: [Object], Dummy11: [Object], _Default: [Object], DefaultFilePath: [Object], DeleteChartAutoFormat: [Object], DeleteCustomList: [Object], Dialogs: [Object], DisplayAlerts: [Object], DisplayFormulaBar: [Object], DisplayFullScreen: [Object], DisplayNoteIndicator: [Object], DisplayCommentIndicator: [Object], DisplayExcel4Menus: [Object], DisplayRecentFiles: [Object], DisplayScrollBars: [Object], DisplayStatusBar: [Object], DoubleClick: [Object], EditDirectlyInCell: [Object], EnableAutoComplete: [Object], EnableCancelKey: [Object], EnableSound: [Object], EnableTipWizard: [Object], FileConverters: [Object], FileSearch: [Object], FileFind: [Object], _FindFile: [Object], FixedDecimal: [Object], FixedDecimalPlaces: [Object], GetCustomListContents: [Object], GetCustomListNum: [Object], GetOpenFilename: [Object], GetSaveAsFilename: [Object], Goto: [Object], Height: [Object], Help: [Object], IgnoreRemoteRequests: [Object], InchesToPoints: [Object], InputBox: [Object], Interactive: [Object], International: [Object], Iteration: [Object], LargeButtons: [Object], Left: [Object], LibraryPath: [Object], _MacroOptions: [Object], MailLogoff: [Object], MailLogon: [Object], MailSession: [Object], MailSystem: [Object], MathCoprocessorAvailable: [Object], MaxChange: [Object], MaxIterations: [Object], MemoryFree: [Object], MemoryTotal: [Object], MemoryUsed: [Object], MouseAvailable: [Object], MoveAfterReturn: [Object], MoveAfterReturnDirection: [Object], RecentFiles: [Object], Name: [Object], NextLetter: [Object], NetworkTemplatesPath: [Object], ODBCErrors: [Object], ODBCTimeout: [Object], OnCalculate: [Object], OnData: [Object], OnDoubleClick: [Object], OnEntry: [Object], OnKey: [Object], OnRepeat: [Object], OnSheetActivate: [Object], OnSheetDeactivate: [Object], OnTime: [Object], OnUndo: [Object], OnWindow: [Object], OperatingSystem: [Object], OrganizationName: [Object], Path: [Object], PathSeparator: [Object], PreviousSelections: [Object], PivotTableSelection: [Object], PromptForSummaryInfo: [Object], Quit: [Object], RecordMacro: [Object], RecordRelative: [Object], ReferenceStyle: [Object], RegisteredFunctions: [Object], RegisterXLL: [Object], Repeat: [Object], ResetTipWizard: [Object], RollZoom: [Object], Save: [Object], SaveWorkspace: [Object], ScreenUpdating: [Object], SetDefaultChart: [Object], SheetsInNewWorkbook: [Object], ShowChartTipNames: [Object], ShowChartTipValues: [Object], StandardFont: [Object], StandardFontSize: [Object], StartupPath: [Object], StatusBar: [Object], TemplatesPath: [Object], ShowToolTips: [Object], Top: [Object], DefaultSaveFormat: [Object], TransitionMenuKey: [Object], TransitionMenuKeyAction: [Object], TransitionNavigKeys: [Object], Undo: [Object], UsableHeight: [Object], UsableWidth: [Object], UserControl: [Object], UserName: [Object], Value: [Object], VBE: [Object], Version: [Object], Visible: [Object], Volatile: [Object], _Wait: [Object], Width: [Object], WindowsForPens: [Object], WindowState: [Object], UILanguage: [Object], DefaultSheetDirection: [Object], CursorMovement: [Object], ControlCharacters: [Object], _WSFunction: [Object], EnableEvents: [Object], DisplayInfoWindow: [Object], Wait: [Object], ExtendList: [Object], OLEDBErrors: [Object], GetPhonetic: [Object], COMAddIns: [Object], DefaultWebOptions: [Object], ProductCode: [Object], UserLibraryPath: [Object], AutoPercentEntry: [Object], LanguageSettings: [Object], Dummy101: [Object], Dummy12: [Object], AnswerWizard: [Object], CalculateFull: [Object], FindFile: [Object], CalculationVersion: [Object], ShowWindowsInTaskbar: [Object], FeatureInstall: [Object], Ready: [Object], Dummy13: [Object], FindFormat: [Object], ReplaceFormat: [Object], UsedObjects: [Object], CalculationState: [Object], CalculationInterruptKey: [Object], Watches: [Object], DisplayFunctionToolTips: [Object], AutomationSecurity: [Object], FileDialog: [Object], Dummy14: [Object], CalculateFullRebuild: [Object], DisplayPasteOptions: [Object], DisplayInsertOptions: [Object], GenerateGetPivotData: [Object], AutoRecover: [Object], Hwnd: [Object], Hinstance: [Object], CheckAbort: [Object], ErrorCheckingOptions: [Object], AutoFormatAsYouTypeReplaceHyperlinks: [Object], SmartTagRecognizers: [Object], NewWorkbook: [Object], SpellingOptions: [Object], Speech: [Object], MapPaperSize: [Object], ShowStartupDialog: [Object], DecimalSeparator: [Object], ThousandsSeparator: [Object], UseSystemSeparators: [Object], ThisCell: [Object], RTD: [Object], DisplayDocumentActionTaskPane: [Object], DisplayXMLSourcePane: [Object], ArbitraryXMLSupportAvailable: [Object], Support: [Object], Dummy20: [Object], MeasurementUnit: [Object], ShowSelectionFloaties: [Object], ShowMenuFloaties: [Object], ShowDevTools: [Object], EnableLivePreview: [Object], DisplayDocumentInformationPanel: [Object], AlwaysUseClearType: [Object], WarnOnFunctionNameConflict: [Object], FormulaBarHeight: [Object], DisplayFormulaAutoComplete: [Object], GenerateTableRefs: [Object], Assistance: [Object], CalculateUntilAsyncQueriesDone: [Object], EnableLargeOperationAlert: [Object], LargeOperationCellThousandCount: [Object], DeferAsyncQueries: [Object], MultiThreadedCalculation: [Object], SharePointVersion: [Object], ActiveEncryptionSession: [Object], HighQualityModeForGraphics: [Object], FileExportConverters: [Object], SmartArtLayouts: [Object], SmartArtQuickStyles: [Object], SmartArtColors: [Object], AddIns2: [Object], PrintCommunication: [Object], MacroOptions: [Object], UseClusterConnector: [Object], ClusterConnector: [Object], Quitting: [Object], Dummy22: [Object], Dummy23: [Object], ProtectedViewWindows: [Object], ActiveProtectedViewWindow: [Object], IsSandboxed: [Object], SaveISO8601Dates: [Object], HinstancePtr: [Object], FileValidation: [Object], FileValidationPivot: [Object], ShowQuickAnalysis: [Object], QuickAnalysis: [Object], FlashFill: [Object], EnableMacroAnimations: [Object], ChartDataPointTrack: [Object], FlashFillMode: [Object], MergeInstances: [Object], EnableCheckFileExtensions: [Object] },
var appIe = module.exports.ActiveXObject('InternetExplorer.Application.1'); BEFORE: 12 methods __methods: { Navigate2: [Object], QueryStatusWB: [Object], ExecWB: [Object], ShowBrowserBar: [Object], ReadyState: [Object], Offline: [Object], Silent: [Object], RegisterAsBrowser: [Object], RegisterAsDropTarget: [Object], TheaterMode: [Object], AddressBar: [Object], Resizable: [Object] },
AFTER: 54 methods __methods: { QueryInterface: [Object], AddRef: [Object], Release: [Object], GetTypeInfoCount: [Object], GetTypeInfo: [Object], GetIDsOfNames: [Object], Invoke: [Object], GoBack: [Object], GoForward: [Object], GoHome: [Object], GoSearch: [Object], Navigate: [Object], Refresh: [Object], Refresh2: [Object], Stop: [Object], Application: [Object], Parent: [Object], Container: [Object], Document: [Object], TopLevelContainer: [Object], Type: [Object], Left: [Object], Top: [Object], Width: [Object], Height: [Object], LocationName: [Object], LocationURL: [Object], Busy: [Object], Quit: [Object], ClientToWindow: [Object], PutProperty: [Object], GetProperty: [Object], Name: [Object], HWND: [Object], FullName: [Object], Path: [Object], Visible: [Object], StatusBar: [Object], StatusText: [Object], ToolBar: [Object], MenuBar: [Object], FullScreen: [Object], Navigate2: [Object], QueryStatusWB: [Object], ExecWB: [Object], ShowBrowserBar: [Object], ReadyState: [Object], Offline: [Object], Silent: [Object], RegisterAsBrowser: [Object], RegisterAsDropTarget: [Object], TheaterMode: [Object], AddressBar: [Object], Resizable: [Object] },
— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/durs/node-activex/pull/72#issuecomment-613385473, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEMMNNATRPEVCE672IC7MTRMRCAVANCNFSM4MG3PCRQ .
If enumerate all types in type library:
TypeLibEnumerate
вт, 14 апр. 2020 г. в 15:23, Yuri Dursin yuri.dursin@gmail.com:
OK, there really is a noticeable difference on the InternetExplorer object
on InternetExplorer.Application methods 71 vs 19 but on Excel.Application methods 467 vs 467 and same pointer
[image: image.png]
вт, 14 апр. 2020 г. в 14:27, Cupid@zul notifications@github.com:
I see what you mean... you are correct, for the Excel.Application there is no change. But for InternetExplorer.Application there is. bellow my tests.
var appIe = module.exports.ActiveXObject('Excel.Application'); BEFORE and AFTER, ok : 327 methods.
__methods: { QueryInterface: [Object], AddRef: [Object], Release: [Object], GetTypeInfoCount: [Object], GetTypeInfo: [Object], GetIDsOfNames: [Object], Invoke: [Object], Application: [Object], Creator: [Object], Parent: [Object], ActiveCell: [Object], ActiveChart: [Object], ActiveDialog: [Object], ActiveMenuBar: [Object], ActivePrinter: [Object], ActiveSheet: [Object], ActiveWindow: [Object], ActiveWorkbook: [Object], AddIns: [Object], Assistant: [Object], Calculate: [Object], Cells: [Object], Charts: [Object], Columns: [Object], CommandBars: [Object], DDEAppReturnCode: [Object], DDEExecute: [Object], DDEInitiate: [Object], DDEPoke: [Object], DDERequest: [Object], DDETerminate: [Object], DialogSheets: [Object], Evaluate: [Object], _Evaluate: [Object], ExecuteExcel4Macro: [Object], Intersect: [Object], MenuBars: [Object], Modules: [Object], Names: [Object], Range: [Object], Rows: [Object], Run: [Object], _Run2: [Object], Selection: [Object], SendKeys: [Object], Sheets: [Object], ShortcutMenus: [Object], ThisWorkbook: [Object], Toolbars: [Object], Union: [Object], Windows: [Object], Workbooks: [Object], WorksheetFunction: [Object], Worksheets: [Object], Excel4IntlMacroSheets: [Object], Excel4MacroSheets: [Object], ActivateMicrosoftApp: [Object], AddChartAutoFormat: [Object], AddCustomList: [Object], AlertBeforeOverwriting: [Object], AltStartupPath: [Object], AskToUpdateLinks: [Object], EnableAnimations: [Object], AutoCorrect: [Object], Build: [Object], CalculateBeforeSave: [Object], Calculation: [Object], Caller: [Object], CanPlaySounds: [Object], CanRecordSounds: [Object], Caption: [Object], CellDragAndDrop: [Object], CentimetersToPoints: [Object], CheckSpelling: [Object], ClipboardFormats: [Object], DisplayClipboardWindow: [Object], ColorButtons: [Object], CommandUnderlines: [Object], ConstrainNumeric: [Object], ConvertFormula: [Object], CopyObjectsWithCells: [Object], Cursor: [Object], CustomListCount: [Object], CutCopyMode: [Object], DataEntryMode: [Object], Dummy1: [Object], Dummy2: [Object], Dummy3: [Object], Dummy4: [Object], Dummy5: [Object], Dummy6: [Object], Dummy7: [Object], Dummy8: [Object], Dummy9: [Object], Dummy10: [Object], Dummy11: [Object], _Default: [Object], DefaultFilePath: [Object], DeleteChartAutoFormat: [Object], DeleteCustomList: [Object], Dialogs: [Object], DisplayAlerts: [Object], DisplayFormulaBar: [Object], DisplayFullScreen: [Object], DisplayNoteIndicator: [Object], DisplayCommentIndicator: [Object], DisplayExcel4Menus: [Object], DisplayRecentFiles: [Object], DisplayScrollBars: [Object], DisplayStatusBar: [Object], DoubleClick: [Object], EditDirectlyInCell: [Object], EnableAutoComplete: [Object], EnableCancelKey: [Object], EnableSound: [Object], EnableTipWizard: [Object], FileConverters: [Object], FileSearch: [Object], FileFind: [Object], _FindFile: [Object], FixedDecimal: [Object], FixedDecimalPlaces: [Object], GetCustomListContents: [Object], GetCustomListNum: [Object], GetOpenFilename: [Object], GetSaveAsFilename: [Object], Goto: [Object], Height: [Object], Help: [Object], IgnoreRemoteRequests: [Object], InchesToPoints: [Object], InputBox: [Object], Interactive: [Object], International: [Object], Iteration: [Object], LargeButtons: [Object], Left: [Object], LibraryPath: [Object], _MacroOptions: [Object], MailLogoff: [Object], MailLogon: [Object], MailSession: [Object], MailSystem: [Object], MathCoprocessorAvailable: [Object], MaxChange: [Object], MaxIterations: [Object], MemoryFree: [Object], MemoryTotal: [Object], MemoryUsed: [Object], MouseAvailable: [Object], MoveAfterReturn: [Object], MoveAfterReturnDirection: [Object], RecentFiles: [Object], Name: [Object], NextLetter: [Object], NetworkTemplatesPath: [Object], ODBCErrors: [Object], ODBCTimeout: [Object], OnCalculate: [Object], OnData: [Object], OnDoubleClick: [Object], OnEntry: [Object], OnKey: [Object], OnRepeat: [Object], OnSheetActivate: [Object], OnSheetDeactivate: [Object], OnTime: [Object], OnUndo: [Object], OnWindow: [Object], OperatingSystem: [Object], OrganizationName: [Object], Path: [Object], PathSeparator: [Object], PreviousSelections: [Object], PivotTableSelection: [Object], PromptForSummaryInfo: [Object], Quit: [Object], RecordMacro: [Object], RecordRelative: [Object], ReferenceStyle: [Object], RegisteredFunctions: [Object], RegisterXLL: [Object], Repeat: [Object], ResetTipWizard: [Object], RollZoom: [Object], Save: [Object], SaveWorkspace: [Object], ScreenUpdating: [Object], SetDefaultChart: [Object], SheetsInNewWorkbook: [Object], ShowChartTipNames: [Object], ShowChartTipValues: [Object], StandardFont: [Object], StandardFontSize: [Object], StartupPath: [Object], StatusBar: [Object], TemplatesPath: [Object], ShowToolTips: [Object], Top: [Object], DefaultSaveFormat: [Object], TransitionMenuKey: [Object], TransitionMenuKeyAction: [Object], TransitionNavigKeys: [Object], Undo: [Object], UsableHeight: [Object], UsableWidth: [Object], UserControl: [Object], UserName: [Object], Value: [Object], VBE: [Object], Version: [Object], Visible: [Object], Volatile: [Object], _Wait: [Object], Width: [Object], WindowsForPens: [Object], WindowState: [Object], UILanguage: [Object], DefaultSheetDirection: [Object], CursorMovement: [Object], ControlCharacters: [Object], _WSFunction: [Object], EnableEvents: [Object], DisplayInfoWindow: [Object], Wait: [Object], ExtendList: [Object], OLEDBErrors: [Object], GetPhonetic: [Object], COMAddIns: [Object], DefaultWebOptions: [Object], ProductCode: [Object], UserLibraryPath: [Object], AutoPercentEntry: [Object], LanguageSettings: [Object], Dummy101: [Object], Dummy12: [Object], AnswerWizard: [Object], CalculateFull: [Object], FindFile: [Object], CalculationVersion: [Object], ShowWindowsInTaskbar: [Object], FeatureInstall: [Object], Ready: [Object], Dummy13: [Object], FindFormat: [Object], ReplaceFormat: [Object], UsedObjects: [Object], CalculationState: [Object], CalculationInterruptKey: [Object], Watches: [Object], DisplayFunctionToolTips: [Object], AutomationSecurity: [Object], FileDialog: [Object], Dummy14: [Object], CalculateFullRebuild: [Object], DisplayPasteOptions: [Object], DisplayInsertOptions: [Object], GenerateGetPivotData: [Object], AutoRecover: [Object], Hwnd: [Object], Hinstance: [Object], CheckAbort: [Object], ErrorCheckingOptions: [Object], AutoFormatAsYouTypeReplaceHyperlinks: [Object], SmartTagRecognizers: [Object], NewWorkbook: [Object], SpellingOptions: [Object], Speech: [Object], MapPaperSize: [Object], ShowStartupDialog: [Object], DecimalSeparator: [Object], ThousandsSeparator: [Object], UseSystemSeparators: [Object], ThisCell: [Object], RTD: [Object], DisplayDocumentActionTaskPane: [Object], DisplayXMLSourcePane: [Object], ArbitraryXMLSupportAvailable: [Object], Support: [Object], Dummy20: [Object], MeasurementUnit: [Object], ShowSelectionFloaties: [Object], ShowMenuFloaties: [Object], ShowDevTools: [Object], EnableLivePreview: [Object], DisplayDocumentInformationPanel: [Object], AlwaysUseClearType: [Object], WarnOnFunctionNameConflict: [Object], FormulaBarHeight: [Object], DisplayFormulaAutoComplete: [Object], GenerateTableRefs: [Object], Assistance: [Object], CalculateUntilAsyncQueriesDone: [Object], EnableLargeOperationAlert: [Object], LargeOperationCellThousandCount: [Object], DeferAsyncQueries: [Object], MultiThreadedCalculation: [Object], SharePointVersion: [Object], ActiveEncryptionSession: [Object], HighQualityModeForGraphics: [Object], FileExportConverters: [Object], SmartArtLayouts: [Object], SmartArtQuickStyles: [Object], SmartArtColors: [Object], AddIns2: [Object], PrintCommunication: [Object], MacroOptions: [Object], UseClusterConnector: [Object], ClusterConnector: [Object], Quitting: [Object], Dummy22: [Object], Dummy23: [Object], ProtectedViewWindows: [Object], ActiveProtectedViewWindow: [Object], IsSandboxed: [Object], SaveISO8601Dates: [Object], HinstancePtr: [Object], FileValidation: [Object], FileValidationPivot: [Object], ShowQuickAnalysis: [Object], QuickAnalysis: [Object], FlashFill: [Object], EnableMacroAnimations: [Object], ChartDataPointTrack: [Object], FlashFillMode: [Object], MergeInstances: [Object], EnableCheckFileExtensions: [Object] },
var appIe = module.exports.ActiveXObject('InternetExplorer.Application.1'); BEFORE: 12 methods __methods: { Navigate2: [Object], QueryStatusWB: [Object], ExecWB: [Object], ShowBrowserBar: [Object], ReadyState: [Object], Offline: [Object], Silent: [Object], RegisterAsBrowser: [Object], RegisterAsDropTarget: [Object], TheaterMode: [Object], AddressBar: [Object], Resizable: [Object] },
AFTER: 54 methods __methods: { QueryInterface: [Object], AddRef: [Object], Release: [Object], GetTypeInfoCount: [Object], GetTypeInfo: [Object], GetIDsOfNames: [Object], Invoke: [Object], GoBack: [Object], GoForward: [Object], GoHome: [Object], GoSearch: [Object], Navigate: [Object], Refresh: [Object], Refresh2: [Object], Stop: [Object], Application: [Object], Parent: [Object], Container: [Object], Document: [Object], TopLevelContainer: [Object], Type: [Object], Left: [Object], Top: [Object], Width: [Object], Height: [Object], LocationName: [Object], LocationURL: [Object], Busy: [Object], Quit: [Object], ClientToWindow: [Object], PutProperty: [Object], GetProperty: [Object], Name: [Object], HWND: [Object], FullName: [Object], Path: [Object], Visible: [Object], StatusBar: [Object], StatusText: [Object], ToolBar: [Object], MenuBar: [Object], FullScreen: [Object], Navigate2: [Object], QueryStatusWB: [Object], ExecWB: [Object], ShowBrowserBar: [Object], ReadyState: [Object], Offline: [Object], Silent: [Object], RegisterAsBrowser: [Object], RegisterAsDropTarget: [Object], TheaterMode: [Object], AddressBar: [Object], Resizable: [Object] },
— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/durs/node-activex/pull/72#issuecomment-613385473, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEMMNNATRPEVCE672IC7MTRMRCAVANCNFSM4MG3PCRQ .
I saw your last commit, awesome work, as soon as i can I'll do some testing on my side.
I tested, all looks good.
I know you've commented out, but I have ha doubt.
Here:
// Enumerate all types in library types
// May be very slow! need a special method
/
if (typelib != prevtypelib) {
TypeLibEnumerate
Maybe you want This: " if (info != tinfo) { " Instead of This: " if (typelib != prevtypelib) { "
Right ? because 'prevtypelib' is never declared with a value ...
Cheers !
prevtypelib.Attach(typelib.Detach()); and at the next iteration, the check may work
сб, 18 апр. 2020 г. в 12:30, Cupid@zul notifications@github.com:
I tested, all looks good.
I know you've commented out, but I have ha doubt.
Here: // Enumerate all types in library types // May be very slow! need a special method / if (typelib != prevtypelib) { TypeLibEnumerate(typelib, mode, process); prevtypelib.Attach(typelib.Detach()); } /
Maybe you want This: " if (info != tinfo) { " Instead of This: " if (typelib != prevtypelib) { "
Right ? because 'prevtypelib' is never declared with a value ...
Cheers !
— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/durs/node-activex/pull/72#issuecomment-615831593, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEMMNJHG575X4U5ZMRYOZDRNFXKBANCNFSM4MG3PCRQ .
This is a pointless operation because info is the same as ppTinfo (info == ppTinfo)