ActiveX-Control verwenden

05/03/2010 - 19:16 von Thomas Kehl | Report spam
Hallo zusammen.

Ich habe ein ActiveX-Control (scViewer) dass ich gerne in einem C#-
Programm verwenden möchte. Ich habe nun das Control meiner Toolbox
hinzugefügt und im FormDesigner auf einer Form platziert. Nun werden
auch die Referenzen hinzugefügt. Wenn ich das Programm nun starte,
bekomme ich auf der Zeile

((System.ComponentModel.ISupportInitialize)
(this.axScviewer1)).EndInit();

immer folgende Exception:

System.Runtime.InteropServices.COMException wurde nicht behandelt.
Message="Klasse nicht registriert (Ausnahme von HRESULT: 0x80040154
(REGDB_E_CLASSNOTREG))"
Source="System.Windows.Forms"
ErrorCode=-2147221164
StackTrace:
bei
System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid,
Object punkOuter, Int32 context, Guid& iid)
bei System.Windows.Forms.AxHost.CreateWithoutLicense(Guid
clsid)
bei System.Windows.Forms.AxHost.CreateWithLicense(String
license, Guid clsid)
bei System.Windows.Forms.AxHost.CreateInstanceCore(Guid clsid)
bei System.Windows.Forms.AxHost.CreateInstance()
bei System.Windows.Forms.AxHost.GetOcxCreate()
bei System.Windows.Forms.AxHost.TransitionUpTo(Int32 state)
bei System.Windows.Forms.AxHost.CreateHandle()
bei System.Windows.Forms.Control.CreateControl(Boolean
fIgnoreVisible)
bei System.Windows.Forms.Control.CreateControl(Boolean
fIgnoreVisible)
bei System.Windows.Forms.AxHost.EndInit()
bei WindowsFormsApplication4.Form1.InitializeComponent() in c:
\temp
\WindowsFormsApplication4\WindowsFormsApplication4\Form1.Designer.cs:Zeile
48.
bei WindowsFormsApplication4.Form1..ctor() in c:\temp
\WindowsFormsApplication4\WindowsFormsApplication4\Form1.cs:Zeile 13.
bei WindowsFormsApplication4.Program.Main() in c:\temp
\WindowsFormsApplication4\WindowsFormsApplication4\Program.cs:Zeile
15.
bei System.AppDomain._nExecuteAssembly(Assembly assembly,
String[] args)
bei
Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
bei System.Threading.ExecutionContext.Run(ExecutionContext
executionContext, ContextCallback callback, Object state)
bei System.Threading.ThreadHelper.ThreadStart()
InnerException:


Muss ich was speziell beachten, wenn ich ein ActiveX-Control verwenden
möchte? - Ich habe eine Seriennummer für dieses Control - kann die
aber erst danach setzen (das Control muss ja zuerst erstellt werden).

Besten Dank für eure Hilfe!

Viele Grüsse, Thomas
 

Lesen sie die antworten

#1 Marcel Roma
05/03/2010 - 21:42 | Warnen spam
Hallo Thomas,

Am Fri, 5 Mar 2010 10:16:09 -0800 (PST) schrieb Thomas Kehl:

System.Runtime.InteropServices.COMException wurde nicht behandelt.
Message="Klasse nicht registriert (Ausnahme von HRESULT: 0x80040154
(REGDB_E_CLASSNOTREG))"



Ist nicht mein Spezialgebiet, aber Dein ActiveX-Control oder eine von
diesem verwendete Klasse scheint auf dem System nicht ordnungsgemàß
installiert/registriert zu sein. Installiere es erneut vom originalen
Installationsmedium oder versuch mal regsvr32 [Pfad]\[Bibliotheksname].ocx
auszuführen.

Wenn Du Windows XP verwendest, könntest Du auch das Tool comTrace
verwenden, um genauer herauszufinden, wo das Problem liegt:
http://www.blunck.se/comtrace/comtrace.html

Viel Erfolg
Marcel

Ähnliche fragen