WinForm med indlejret browser fejler
HejsaJeg sidder med en winform som benytter AxSHDocVw.AxWebBrowser-komponenten
til at få vist noget HTML på formen. Fint nok - på min WinXP virker det
fint, men på Win2000 prof. (Service Pack 4, IE6) har jeg et problem:
Her er hele koden, det er en så simpel form som overhovedet muligt, og her
er dens kildekode, med angivelse af hvor det går galt.
Referencen til min AxWebBrowser som er trukket ind på formen hedder:
ieBrowser, og fejlen opstår når jeg laver følgende:
IHTMLDocument2 doc = ieBrowser.Document as IHTMLDocument2;
Mvh,
Per
Hele koden er her:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Runtime.InteropServices;
using mshtml;
namespace SimplestWinForm
{
/// <summary>
/// Summary description for Form1.
/// </summary>
public class Form1 : System.Windows.Forms.Form
{
private AxSHDocVw.AxWebBrowser ieBrowser;
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
object dummy = null;
ieBrowser.Navigate("http://localhost/WrapperWebApp", ref dummy, ref dummy,
ref dummy, ref dummy);
try
{
IHTMLDocument2 doc = ieBrowser.Document as IHTMLDocument2; // Her går
det galt
}
catch (Exception exc) // Så galt at den exception som smides
ikke bliver grebet
{
System.Diagnostics.Trace.WriteLine("ieBrowser.Document: " + exc.ToString());
}
}
/// <summary>
/// Clean up any resources being used.
/// </summary>
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.Resources.ResourceManager resources = new
System.Resources.ResourceManager(typeof(Form1));
this.ieBrowser = new AxSHDocVw.AxWebBrowser();
((System.ComponentModel.ISupportInitialize)(this.ieBrowser)).BeginInit();
this.SuspendLayout();
//
// ieBrowser
//
this.ieBrowser.Enabled = true;
this.ieBrowser.Location = new System.Drawing.Point(0, 0);
this.ieBrowser.OcxState =
((System.Windows.Forms.AxHost.State)(resources.GetObject("ieBrowser.OcxState
")));
this.ieBrowser.Size = new System.Drawing.Size(800, 600);
this.ieBrowser.TabIndex = 1;
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(792, 566);
this.Controls.Add(this.ieBrowser);
this.Name = "Form1";
this.Text = "Form1";
((System.ComponentModel.ISupportInitialize)(this.ieBrowser)).EndInit();
this.ResumeLayout(false);
}
#endregion
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.Run(new Form1());
}
}
}
