BinaryComparison Object

This object represents a binary file comparison window. The window isn’t necessarily visible on screen and can be used either to perform file comparison services for a client, or to present file comparisons on the screen to the user.

Use the methods and properties exposed by this object to perform binary file comparisons, and to alter the appearance of a binary file comparison window.

Information Once the comparison represented by this object is closed, the handler for the Close event provides the final opportunity to access methods and properties. Accessing them after this time will result in an error.

Properties

Activeread/writeICommonUI

The active state of the comparison window.

IDL [propget] HRESULT Active([out, retval] VARIANT_BOOL* pValue)
[propput] HRESULT Active([in] VARIANT_BOOL newValue)
.NET Boolean Active[get, set]

AllUnresolvedConflictsread-onlyIFileComparison

Not currently used.

AutoSaveOnCloseread/writeIFileComparison

Not currently used.

ChangeLengthread-onlyIBinaryComparison

The number of lines in a change.

IDL [propget] HRESULT ChangeLength(
    [in] long nChange,
    [in] long nSide,
    [in, optional] VARIANT nFilePair,
    [out, retval] long* pValue)
.NET Int32 get_ChangeLength(
    Int32 nChange,
    Int32 nSide,
    Object nFilePair)
  • nChange
    Specifies the change (0 based) for which the number of contained bytes is required. This value should be in the range 0 to NumberOfChanges-1.
  • nSide
    Specifies the left (0) or right (1) side of the change.
  • nFilePair optional
    Specifies whether to return results for files 0 and 1 (when nFilePair = 0, the default) or files 1 and 2 (when nFilePair = 1).

ChangeStartLineread-onlyIBinaryComparison

The starting byte offset (0 based) of a change.

IDL [propget] HRESULT ChangeStartLine(
    [in] long nChange,
    [in] long nSide,
    [in, optional] VARIANT nFilePair,
    [out, retval] long* pValue)
.NET Int32 get_ChangeStartLine(
    Int32 nChange,
    Int32 nSide,
    Object nFilePair)
  • nChange
    Specifies the change (0 based) for which the starting byte offset is required. This value should be in the range 0 to NumberOfChanges_-1.
  • nSide
    Specifies the left (0) or right (1) side of the change.
  • nFilePair optional
    Specifies whether to return results for files 0 and 1 (when nFilePair = 0, the default) or files 1 and 2 (when nFilePair = 1).

ChangeTyperead-onlyIBinaryComparison

The type of a change. A change represents a block of inserted, removed, changed, or unchanged lines.

IDL [propget] HRESULT ChangeType(
    [in] long nChange,
    [in, optional] VARIANT nFilePair,
    [out, retval] ChangeStyle* pValue)
.NET ChangeStyle get_ChangeType(
    Int32 nChange,
    Object nFilePair)
  • nChange
    Specifies the change (0 based) for which the type is required. This value should be in the range 0 to NumberOfChanges-1.
  • nFilePair optional
    Specifies whether to return results for files 0 and 1 (when nFilePair = 0, default) or files 1 and 2 (when nFilePair = 1).

ComparisonErrorread-onlyIFileComparison

The error (if any) that was encountered by the Compare method.

IDL [propget] HRESULT ComparisonError(
    [in, optional] VARIANT nFilePair,
    [out, retval] FileComparisonError* pValue)
.NET FileComparisonError get_ComparisonError(
    Object nFilePair)
  • nFilePair optional
    Specifies whether to return results for files 0 and 1 (when nFilePair = 0, the default) or files 1 and 2 (when nFilePair = 1).

ComparisonResultread-onlyIFileComparison

The result (fcrSame, fcrDifferent, fcrError) of the comparison performed by the Compare method.

IDL [propget] HRESULT ComparisonResult(
    [in, optional] VARIANT nFilePair,
    [out, retval] FileComparisonResult* pValue)
.NET FileComparisonResult get_ComparisonResult(
    Object nFilePair)
  • nFilePair optional
    Specifies whether to return results for files 0 and 1 (when nFilePair = 0, the default) or files 1 and 2 (when nFilePair = 1).

ErrorInforead/writeIFileComparison

Provides detailed information about errors encountered while loading/comparing one of the files. If nFile is -1, then errors that applied to all three files (for example, out of memory errors) are returned.

IDL [propget] HRESULT ErrorInfo(
    [in] short nFile,
    [out, retval] BSTR* pValue)
[propput] HRESULT ErrorInfo(
    [in] short nFile,
    [in] BSTR newValue)
.NET String get_ErrorInfo(
    Int16 nFile)
void set_ErrorInfo(
    Int16 nFile, String newValue)
  • nFile
    The file (0, 1, or 2) to get error information for. A value of -1 can also be specified to denote all files.

Heightread/writeICommonUI

The height of the comparison window in pixels.

IDL [propget] HRESULT Height([out, retval] long* pValue)
[propput] HRESULT Height([in] long newValue)
.NET Int32 Height[get, set]

Leftread/writeICommonUI

The location of the left edge pixel coordinate of the comparison window.

IDL [propget] HRESULT Left([out, retval] long* pValue)
[propput] HRESULT Left([in] long newValue)
.NET Int32 Left[get, set]

Maximizedread/writeICommonUI

The maximized state of the comparison window.

IDL [propget] HRESULT Maximized([out, retval] VARIANT_BOOL* pValue)
[propput] HRESULT Maximized([in] VARIANT_BOOL newValue)
.NET Boolean Maximized[get, set]

Minimizedread/writeICommonUI

The minimized state of the comparison window.

IDL [propget] HRESULT Minimized([out, retval] VARIANT_BOOL* pValue)
[propput] HRESULT Minimized([in] VARIANT_BOOL newValue)
.NET Boolean Minimized[get, set]

Modifiedread/writeIFileComparison

Not currently used.

NumberOfBytesread-onlyIBinaryComparison

The number of bytes in one of the compared files.

IDL [propget] HRESULT NumberOfBytes(
    [in] short nFile,
    [out, retval] short* pValue)
.NET Int16 get_NumberOfBytes(
    Int16 nFile)
  • nFile
    Specifies the file in question (0, 1 or 2 for the first, second and third files respectively).

NumberOfChangesread-onlyIFileComparison

The number of changes between two files.

IDL [propget] HRESULT NumberOfChanges(
    [in, optional] VARIANT nFilePair,
    [out, retval] long* pValue)
.NET Int32 get_NumberOfChanges(
    Object nFilePair)
  • nFilePair optional
    Specifies whether to return the number of changes between files 0 and 1 (when nFilePair = 0, the default) or files 1 and 2 (when nFilePair = 1).

PromptForUnsavedFilesread/writeIFileComparison

Not currently used.

ReadOnlyread/writeIFileComparison

Not currently used.

SaveFileNameread/writeIFileComparison

Not currently used.

ThreeWayMergeActionsread-onlyIFileComparison

Not currently used.

Topread/writeICommonUI

The location of the top edge pixel coordinate of the comparison window.

IDL [propget] HRESULT Top([out, retval] long* pValue)
[propput] HRESULT Top([in] long newValue)
.NET Int32 Top[get, set]

UnresolvedConflictsread-onlyIFileComparison

Not currently used.

ViewTyperead/writeIComparison

The comparison type (two way or three way layout).

IDL [propget] HRESULT ViewType([out, retval] FileViewType* pValue)
[propput] HRESULT ViewType([in] FileViewType newValue)
.NET FileViewType ViewType[get, set]

Visibleread/writeICommonUI

The visible state of the comparison window.

IDL [propget] HRESULT Visible([out, retval] VARIANT_BOOL* pValue)
[propput] HRESULT Visible([in] VARIANT_BOOL newValue)
.NET Boolean Visible[get, set]

Widthread/writeICommonUI

The width of the comparison window in pixels.

IDL [propget] HRESULT Width([out, retval] long* pValue)
[propput] HRESULT Width([in] long newValue)
.NET Int32 Width[get, set]

Methods

CloseICommonUI

Closes the comparison window.

IDL HRESULT Close()
.NET void Close()

CompareIComparison

Compares two or three files. This method is synchronous. An event ComparisonComplete is fired when the comparison is finished to report errors and results.

IDL HRESULT Compare(
    [in] VARIANT strFirstFile,
    [in] VARIANT strSecondFile,
    [in, optional] VARIANT strThirdFile)
.NET void Compare(
    Object strFirstFile,
    Object strSecondFile,
    Object strThirdFile)
  • strFirstFile
    The fully qualified path to the first file
  • strSecondFile
    The fully qualified path to the second file
  • strThirdFile optional
    The fully qualified path to the third file

CompareAsyncIFileComparison

Compares two or three files. This method is asynchronous (returns before the comparison completes). An event ComparisonComplete is fired when the comparison is finished to report errors and results.

IDL HRESULT CompareAsync(
    [in] VARIANT strFirstFile,
    [in] VARIANT strSecondFile,
    [in, optional] VARIANT strThirdFile)
.NET void CompareAsync(
    Object strFirstFile,
    Object strSecondFile,
    Object strThirdFile)
  • strFirstFile
    The fully qualified path to the first file
  • strSecondFile
    The fully qualified path to the second file
  • strThirdFile optional
    The fully qualified path to the third file

GiveUserControlICommonUI

Gives control over the lifetime of the comparison window to the user. Merge will not automatically close the window when outstanding automation references are released.

IDL HRESULT GiveUserControl()
.NET void GiveUserControl()

PrintIComparison

Prints the file comparison.

IDL HRESULT Print(
    [in] VARIANT_BOOL bShowPrinterDialog,
    [in] PageOrientation nOrientation)
.NET void Print(
    Boolean bShowPrinterDialog,
    PageOrientation nOrientation)
  • bShowPrinterDialog
    Defaults to FALSE. Whether to show the printer dialog to the user before printing.
  • nOrientation
    Defaults to poLandscape. Whether to print in portrait or landscape mode.

RefreshIComparison

Recompares the files displayed in the window. This will cause any unsaved changes to be discarded.

IDL HRESULT Refresh()
.NET void Refresh()

ReportIComparison

Not currently used.

Report2IComparison

Not currently used.

RestoreICommonUI

Restores the comparison window from minimized or maximised state to its normal resizable state.

IDL HRESULT Restore()
.NET void Restore()

SaveComparisonIComparison

Saves the comparison to a file. We recommend that you use the .cmp7 extension in the filename.

IDL HRESULT SaveComparison(
    [in] BSTR filename)
.NET void SaveComparison(
    String filename)
  • filename
    The name of the file to which the comparison should be saved.

SaveFileIFileComparison

Not currently used.

SaveFileAsIFileComparison

Not currently used.

SetPanelTitlesIComparison

Sets the titles shown above the file panels.

IDL HRESULT SetPanelTitles(
    [in] VARIANT strFirst,
    [in] VARIANT strSecond,
    [in, optional] VARIANT strThird)
.NET void SetPanelTitles(
    Object strFirst,
    Object strSecond,
    Object strThird)
  • strFirst
    The title for the first file panel.
  • strSecond
    The title for the second file panel.
  • strThird optional
    The title for the third file panel.

ThreeWayMergeIFileComparison

Not currently used.

Events

CloseIFileComparisonEvents

The file comparison window was closed by the user.

IDL HRESULT Close()
.NET void Close()

ComparisonCompleteIFileComparisonEvents

Occurs when a file comparison completes. For comparisons between two files, only the first two arguments are defined. For comparisons between three files, all four arguments are defined.

IDL HRESULT ComparisonComplete(
    [in] FileComparisonError error1,
    [in] FileComparisonResult result1,
    [in, optional] FileComparisonError error2,
    [in, optional] FileComparisonResult result2)
.NET void ComparisonComplete(
    FileComparisonError error1,
    FileComparisonResult result1,
    FileComparisonError error2,
    FileComparisonResult result2)
  • error1
    The error, if any, that occurred during the comparison of the first and second files.
  • result1
    The result of the comparison between the first and second files.
  • error2 optional
    The error, if any, that occurred during the comparison of the second and third files.
  • result2 optional
    The result of the comparison between the second and third files.