3

I keep getting this error:

System.Runtime.InteropServices.COMException was thrown on "C:\Users\---\documents\visual studio 2010\Projects\TBrowser\TBrowser\TBrowserWindow.xaml": Error HRESULT E_FAIL has been returned from a call to a COM component.

But I don't have a COM component in my .xaml file. It keeps popping up and saying the position of the error is line 1 column 1 and I just have a Window there and nothing else:

<Window x:Class="TBrowser.TBrowserWindow"
        xmlns:my="clr-namespace:TBrowser"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        Height="800" Width="900" Icon="/TBrowser;component/Images/Icons/Icon.ico" MinHeight="143" MinWidth="358" Background="White" Loaded="Window_Loaded" Name="TBWindow1">
    <Window.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="Themes/Generic.xaml" />
            </ResourceDictionary.MergedDictionaries>
        </ResourceDictionary>
    </Window.Resources>

    <DockPanel x:Name="Layout">
        <StatusBar Height="24" Name="TBStatusBar1" Background="WhiteSmoke" BorderBrush="Black" BorderThickness="0,1,0,0" VerticalContentAlignment="Bottom" DockPanel.Dock="Bottom">
            <StatusBarItem Width="300" HorizontalAlignment="Left" Padding="1" />
            <StatusBarItem HorizontalAlignment="Right" Padding="0" Margin="1" VerticalContentAlignment="Stretch">
                <ProgressBar Width="146" Height="18" HorizontalAlignment="Left" Margin="1" Name="TBProgessBar1"></ProgressBar>
            </StatusBarItem>
        </StatusBar>

        <my:TBOutputPannel x:Name="TBOutputPannel1" DockPanel.Dock="Bottom" MinHeight="48" MaxHeight="200" Visibility="Collapsed" />

        <my:TBControlBar Height="48" VerticalAlignment="Top" x:Name="TBControlBar1" DockPanel.Dock="Top">
            <my:TBControlBar.ContextMenu>
                <ContextMenu>
                    <MenuItem Header="Menubar" IsCheckable="True" IsChecked="True" />
                    <MenuItem Header="Favsbar" IsCheckable="True" IsChecked="True" />
                    <MenuItem Header="Statusbar" IsCheckable="True" IsChecked="True" />
                </ContextMenu>
            </my:TBControlBar.ContextMenu>
        </my:TBControlBar>
        <Grid DockPanel.Dock="Bottom">
            <my:TBTabControl x:Name="TBTabControl1">
                <my:TBAddTabItem Height="28" HorizontalAlignment="Left" IsSelected="False" Margin="0" x:Name="TBAddTabItem" VerticalAlignment="Top" Width="28"></my:TBAddTabItem>
            </my:TBTabControl>
            <Menu Height="24" Name="TBMenu1" VerticalAlignment="Top" Margin="0,29,0,0" Background="WhiteSmoke">
                <MenuItem Header="File">
                    <MenuItem Header="New tab" InputGestureText="Ctrl+T" Click="MenuItem_Click">
                        <MenuItem.Icon>
                            <Image Source="/TBrowser;component/Images/Images/TBNewTabIcon1.png" />
                        </MenuItem.Icon>
                    </MenuItem>
                    <MenuItem Header="Duplicate tab" InputGestureText="Ctrl+K" Click="MenuItem_Click_1" />
                    <MenuItem Header="New window" InputGestureText="Ctrl+N" />
                    <MenuItem Header="New session" />
                    <MenuItem Command="ApplicationCommands.Open" Header="Open" />
                    <MenuItem Header="Edit with Notepad" />
                    <MenuItem Command="ApplicationCommands.Save" Header="Save" IsEnabled="False" />
                    <MenuItem Command="ApplicationCommands.SaveAs" Header="Save As..." InputGestureText="Ctrl+S" />
                    <MenuItem Header="Close tab" InputGestureText="Ctrl+W" />
                    <Separator />
                    <MenuItem Header="Page setup" />
                    <MenuItem Command="ApplicationCommands.Print" Header="Print" InputGestureText="Ctrl+P" />
                    <MenuItem Command="ApplicationCommands.PrintPreview" Header="Print preview" />
                    <MenuItem />
                </MenuItem>
            </Menu>
            <ToolBar Height="24" Margin="0,52,0,0" Name="TBFavsbar1" VerticalAlignment="Top" Style="{StaticResource TBFavsbar}">
                <my:TBFavsItem isAdder="True" IconSource="/TBrowser;component/Images/Images/TBAddFavs1.png" Margin="2,1,0,0" />
                <Separator Margin="2,1,0,0" />
            </ToolBar>
        </Grid>
    </DockPanel>

    <Window.TaskbarItemInfo>
        <TaskbarItemInfo x:Name="Display" />
    </Window.TaskbarItemInfo>
</Window>

I even keep getting this error:

System.NullReferenceException was unhandled by user code
  Message=Object reference not set to an instance of an object.
  Source=TBrowser
  StackTrace:
       at TBrowser.TBrowserWindow.TBMenubar1ShowButton_Checked(Object sender, RoutedEventArgs e) in C:\Users\---\documents\visual studio 2010\Projects\TBrowser\TBrowser\TBrowserWindow.xaml.cs:line 137
       at System.Windows.RoutedEventHandlerInfo.InvokeHandler(Object target, RoutedEventArgs routedEventArgs)
       at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
       at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
       at System.Windows.UIElement.RaiseEvent(RoutedEventArgs e)
       at System.Windows.Controls.MenuItem.OnChecked(RoutedEventArgs e)
       at System.Windows.Controls.MenuItem.OnIsCheckedChanged(DependencyObject d, DependencyPropertyChangedEventArgs e)
       at System.Windows.DependencyObject.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
       at System.Windows.FrameworkElement.OnPropertyChanged(DependencyPropertyChangedEventArgs e)
       at System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs args)
       at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex entryIndex, DependencyProperty dp, PropertyMetadata metadata, EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType)
       at System.Windows.DependencyObject.SetValueCommon(DependencyProperty dp, Object value, PropertyMetadata metadata, Boolean coerceWithDeferredReference, Boolean coerceWithCurrentValue, OperationType operationType, Boolean isInternal)
       at System.Windows.Baml2006.WpfKnownMemberInvoker.SetValue(Object instance, Object value)
       at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(XamlMember member, Object obj, Object value)
       at MS.Internal.Xaml.Runtime.ClrObjectRuntime.SetValue(Object inst, XamlMember property, Object value)

And this is what im using:

private void TBMenubar1ShowButton_Checked(object sender, RoutedEventArgs e)
{
    TBMenu1.Visibility = System.Windows.Visibility.Visible;
    TBrowser.Properties.Settings.Default.Menubar = System.Windows.Visibility.Visible;
}

And I don't get whats going on.

thakyZ
  • 113
  • 1
  • 2
  • 12
  • I'm going to guess that you get this error in Visual Studio, even before you try to run this project. VS uses COM heavily. The error is very non-descriptive but is typically caused by a VS installation problem or registry corruption. – Hans Passant Jan 02 '12 at 17:24
  • No I'm using Visual C# Express 2010. – thakyZ Jan 02 '12 at 17:52

1 Answers1

4

I think its caused by sending a 64 bit INT to an application that expects a 32 bit INT for example, to resolve (if it is this issue) follow the steps below.

Right click the Project (in Solution Explorer) -> Properties, Build Tab, Platform target set x86. Then do a Clean-Build and give it a whirl.

Platform Target

craig1231
  • 3,769
  • 4
  • 31
  • 34
  • I can't find it I'm using Visual C# Express 2010 and I cant find it in the Build tab or BuildEvents tab. – thakyZ Jan 02 '12 at 17:51
  • @Thaky, ive added an image, but Im not sure if it'll look the same because Im running a different version of VS2010 ;) – craig1231 Jan 02 '12 at 17:56
  • Its not on there this is what it shows: http://www.mediafire.com/i/?77syfy5o171a2pg – thakyZ Jan 02 '12 at 17:59
  • "The Visual Studio Express Editions, such as Visual C# Express, do not support optimization for a specific CPU type. This is supported only in the full Visual Studio product." - That might be why it doesnt work then :( – craig1231 Jan 02 '12 at 18:04
  • Interesting...I'm trying to set a directoryentry active dir object ["pwdLastSet"] which I have read from SO is supposed to be int64, when I try to set it to an int64 zero value I get this exact COM message! background: https://stackoverflow.com/questions/9592422/casting-activedirectory-pwdlastset-property-without-using-activeds – DukeDidntNukeEm Jul 09 '21 at 21:16
  • I fixed my problem, thanks @craig1231, Convert.ToInt32 let me set to property to 0! – DukeDidntNukeEm Jul 09 '21 at 21:21
  • if ***User must change password at next logon*** option is _checked_ then `LastPasswordSet` property returns `null` value ? – Kiquenet Oct 05 '22 at 10:52