vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
NEU! sevCoolbar 3.0 - Professionelle Toolbars im modernen Design!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

C# Ecke
Re: Cannot convert ActiveScripting.IActiveScriptSite 
Autor: Rhutalia
Datum: 19.11.08 12:13

Hallo Dave,

ActiveScripting ist eine importierte Typelib die ich nach Anweisung eines Artikels von Dr. Dobbs Portal erstellt habe (http://www.ddj.com/184405380). Ich arbeite ein Beispiel aus dieser Serie durch. Ich habe die GUIDs mit OleView gecheckt, die sind richtig.

using System;
using System.Runtime.InteropServices;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using ActiveScripting;

namespace ScriptingHostTest2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
}

[InterfaceType(ComInterfaceType.InterfaceIsIUnknown), Guid("DB01A1E3-A42B-11CF-8F20-00805F2CD064")]
interface IActiveScriptSite
{
void GetLCID(out uint id);
void GetItemInfo(string pstrName, uint dwReturnMask, [Out, MarshalAs(UnmanagedType.IUnknown)] out object item, IntPtr ppti);
void GetDocVersionString(out string v);
void OnScriptTerminate(ref object result, ref stdole.EXCEPINFO info);
void OnStateChange(uint state);
void OnScriptError([In, MarshalAs(UnmanagedType.IUnknown)] object err);
void OnEnterScript();
void OnLeaveScript();
}


[ComImport, Guid("F414C260-6AC0-11CF-B6D1-00AA00BBBB58")]
public class JScript
{
}

public class ScriptHost : IActiveScriptSite
{
public void Run()
{
try
{
JScript engine = new JScript();
IActiveScriptParse32 iap = engine as IActiveScriptParse32;
iap.InitNew();

IActiveScript ias = engine as IActiveScript;
ias.SetScriptSite( this );

ias.Close();
}
catch( ExecutionEngineException e )
{
MessageBox.Show(e.Message, "ScriptingHostTest2");
}
}

public ScriptHost()
{
}

#region IActiveScriptSite

public void GetDocVersionString(out string v)
{
throw new NotImplementedException();
}

public void GetItemInfo([In, MarshalAs(UnmanagedType.BStr)] string name,
[In, MarshalAs(UnmanagedType.U4)] uint dwReturnMask,
[Out, MarshalAs(UnmanagedType.IUnknown)] out object item,
IntPtr ppti)
{
item = null;
if (name == "App")
{
item = new App();

if (ppti != IntPtr.Zero)
{
Marshal.WriteIntPtr(ppti,
Marshal.GetITypeInfoForType(item.GetType()));
}
}
}


public void GetLCID(out uint id)
{
throw new NotImplementedException();
//if (id == null)
//{
// throw new ArgumentNullException();
//}
}

public void OnEnterScript()
{
}

public void OnLeaveScript()
{
}

public void OnScriptError([In, MarshalAs(UnmanagedType.IUnknown)] object err)
{
}

public void OnScriptTerminate(ref object result, ref stdole.EXCEPINFO info)
{
}

public void OnStateChange(uint state)
{
}

#endregion

}

public class App
{
public App()
{ }

public void DoSomething()
{
MessageBox.Show("hello from dotnet");
}
}

}

Vielen Dank
Talia
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Cannot convert ActiveScripting.IActiveScriptSite2.379Rhutalia18.11.08 00:45
Re: Cannot convert ActiveScripting.IActiveScriptSite1.881ModeratorDaveS18.11.08 18:55
Re: Cannot convert ActiveScripting.IActiveScriptSite1.755Rhutalia19.11.08 12:13
Re: Cannot convert ActiveScripting.IActiveScriptSite1.830ModeratorDaveS19.11.08 12:59
Re: Cannot convert ActiveScripting.IActiveScriptSite1.809Rhutalia19.11.08 13:56
Re: Cannot convert ActiveScripting.IActiveScriptSite1.911ModeratorDaveS19.11.08 14:09
Re: Cannot convert ActiveScripting.IActiveScriptSite1.723Rhutalia19.11.08 14:16
Re: Cannot convert ActiveScripting.IActiveScriptSite1.692ModeratorDaveS19.11.08 14:57
Re: Cannot convert ActiveScripting.IActiveScriptSite1.704Rhutalia19.11.08 15:15
Re: Cannot convert ActiveScripting.IActiveScriptSite1.658ModeratorDaveS20.11.08 11:25

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel