Autor Beitrag
Glowhollow
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 61



BeitragVerfasst: Do 11.04.19 13:03 
Mahlzeit :) !

ich hab hier eine Fehlermeldung mit der ich wenig anfangen kann. Sie lautet:
Zitat:
"System.InvalidCastException: "Schnittstelle nicht registriert
Die Proxyregistrierung für die IID {EAC04BC0-3791-11D2-BB95-0060977B464C} wurde nicht gefunden."


ich rufe mit folgendem Code eine GroupBox auf, die im Designer komplett hinterlegt ist.
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
        private void pbbtpisaddhtcshow_Click(object sender, EventArgs e)
        {
            this.gpbpishotelfilter.Visible = false;
            this.pbbtpisnhotelfilter.Image = GDISClient.Properties.Resources.filter_show_30;
            this.tbpishtccodes.Focus();
            if (this.tbpishtccodes.Text.Length > 0)
            {
                string test = this.tbpishtccodes.Text.Replace(' ''\0');
                string[] htcsplit = test.Split(',');

                foreach (string item in htcsplit)
                {
                    this.lbpishtcall.SelectedIndex = (this.lbpishtcall.FindString(item));
                    if (this.lbpishtcall.FindString(item) >= 0)
                    {
                        this.lbpishtcadded.Items.Add(this.lbpishtcall.SelectedItem);
                        this.lbpishtcall.Items.Remove(this.lbpishtcall.SelectedItem);
                    }
                }
                this.lbpishtcall.ClearSelected();
                this.lbpishtcadded.ClearSelected();
            }
            this.tbpishtcsuche.Focus();
            this.gbpishtcadd.Visible = true;             // hier wird der fehler geworfen.
        }


das Objekt gppishtcadd ist vorhanden. ist aber erst mal von der Visiblity auf false gesetzt. Ich habe auch etwas gegooglet, aber nichts dazu gefunden, höchstens n paar sachen mit COM objekten, mit denen ich hier aber nicht arbeite.

Ich habe den Debugger an diese Stelle gesetzt, dort ist der wert auf false gesetzt. Warum ich den nicht auf true setzen kann. Keine Ahnung.

[Edit]
Zitat:
Die Proxyregistrierung für die IID {EAC04BC0-3791-11D2-BB95-0060977B464C} wurde nicht gefunden.
bei System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid& clsid, Object punkOuter, Int32 context, Guid& iid)
bei System.Windows.Forms.StringSource..ctor(String[] strings)
bei System.Windows.Forms.TextBox.SetAutoComplete(Boolean reset)
bei System.Windows.Forms.TextBox.OnHandleCreated(EventArgs e)
bei Syncfusion.Windows.Forms.Tools.TextBoxExt.OnHandleCreated(EventArgs e)
bei System.Windows.Forms.Control.WmCreate(Message& m)
bei System.Windows.Forms.Control.WndProc(Message& m)
bei System.Windows.Forms.TextBoxBase.WndProc(Message& m)
bei System.Windows.Forms.TextBox.WndProc(Message& m)
bei Syncfusion.Windows.Forms.Tools.TextBoxExt.WndProc(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)</ExceptionString><DataItems><Data><Key>RestrictedDescription</Key><Value>Die Proxyregistrierung für die IID {EAC04BC0-3791-11D2-BB95-0060977B464C} wurde nicht gefunden.</Value></Data><Data></Data><Data></Data><Data><Key>__RestrictedErrorObject</Key><Value>System.Exception+__RestrictedErrorObject</Value></Data><Data><Key>__HasRestrictedLanguageErrorObject</Key><Value>False</Value></Data></DataItems></Exception></TraceRecord>
Ein Ausnahmefehler des Typs "System.InvalidCastException" ist in System.Windows.Forms.dll aufgetreten.
Schnittstelle nicht registriert


Moderiert von user profile iconTh69: Code- durch C#-Tags ersetzt
Frühlingsrolle
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2274
Erhaltene Danke: 419

[Win NT] 5.1 x86 6.1 x64
[Delphi] 7 PE, 2006, 10.1 Starter, Lazarus - [C#] VS Exp 2012 - [Android API 15] VS Com 2015, Eclipse, AIDE - [C++] Builder 10.1
BeitragVerfasst: Do 11.04.19 13:25 
Kann es sein, dass du versuchst eine Textbox mit Datensätzen einer Datenbank automatisch zu füllen? Wenn ja, dann würde ich mich in dem Bereich umschauen.
Aus dem Beispiel ist ein Fehler so nicht ersichtlich.

_________________
„Politicians are put there to give you the idea that you have freedom of choice. You don’t. You have no choice. You have owners. They own you. They own everything." (George Denis Patrick Carlin)
Glowhollow Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 61



BeitragVerfasst: Do 11.04.19 13:49 
Ja das ist korrekt, ich habe einen backgroundworker der das erledigt. Kann es sein, das es hier zu probleme kommt ?
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 3977
Erhaltene Danke: 813

Win7
C++, C# (VS 2015/17)
BeitragVerfasst: Do 11.04.19 14:00 
Die Guid ist für das interne COM Interface IAutoComplete2 (s. Reference Source winforms\Managed\System\WinForms\UnsafeNativeMethods.cs).

Läuft der Code nicht im UI-Thread (s.a. Kommentar in Interface not registered Failed to find proxy registration for IID: {EAC04BC0-3791-11D2-BB95-0060977B464C})?

UI-Code darf nur im UI-/Main-Thread laufen. Der BackgroundWorker bietet dazu die beiden Ereignisse ProgressChanged und RunWorkerCompleted an, welche im UI-Thread ausgeführt werden - ansonsten mußt du selber per Control.Invoke(...) dafür sorgen.
Glowhollow Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 61



BeitragVerfasst: Fr 12.04.19 12:43 
So konnte den Fehler lokalisieren.

Im Designer, gibt es eine variable die gesetzt wird. Diese sollte später für die Autovervollständigung genutzt werden.

ausblenden Quelltext
1:
this.tbpishtcsuche.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource;					


kann es sein, das customsource erst mal initialisiert werden muß, und das daher der fehler rührt ?
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4416
Erhaltene Danke: 901


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Fr 12.04.19 13:05 
Nein. Der Stelle wo die Exception bei dir laut Stack auftritt ist es egal ob du bereits Vorgaben fürs Autocomplete gemacht hast oder nicht.

Laut Stack knallt es im Konstruktor von StringSource. Wenn man dort nachschaut sieht man das es bei der Initialisierung des SHAutoComplete COM Subsystems knallt(Der Aufruf von CoCreateInstance). Das ist unabhängig von deinem konkreten Code zur Initialisierung der TextBox. Sondern läßt eher eine kaputte (zumindest an der Stelle) Windowsinstallation vermuten.

2. Optionen das zu prüfen. Erstelle ein neues Winforms Projekt in dem du schnell mal eine Standard TextBox mit AutoComplete ausprobierst (also nicht das Syncfusion Zeug das du scheinbar verwendest) oder versuche dein Programm auf einem anderen System.
Glowhollow Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 61



BeitragVerfasst: Fr 12.04.19 14:52 
ok, konnte es noch weiter eingrenzen...

ich habe da eine Funktion:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
private void GetHTCFilter(string filter)
{
    AutoCompleteStringCollection data = new AutoCompleteStringCollection();
    this.lbpishtcall.Items.Clear();
    this.lbpishtcadded.Items.Clear();
    this.tbpishtcsuche.AutoCompleteCustomSource.Clear();

    foreach (DataRow dr in mysqlcon.GetHTC(filter).Rows)
        this.lbpishtcall.Items.Add(dr["htc"]);
    foreach (var item in this.lbpishtcall.Items)
    {
        data.Add(item.ToString());
    }
    this.tbpishtcsuche.AutoCompleteCustomSource = data;
}


@Ralf - Windows Installation konnte ich ausschließen. Hab das auf mehreren Rechnern getestet, knallt überall. Was ich gut finden würde, wäre, wenn du mir das mal mit dem Stack und dem analysieren erklären könntest. Für mich sind das kryptische Meldungen mit denen ich nur sehr wenig anfangen kann.

Kann es sein, das es ein Buffer Overflow, etc... stattfinden kann ? die data, sind etwa 5125 strings, die da drin gespeichert sind.

Ich vermute ja mal, das das das befüllen der textbox, mit den daten, zu verzögerungen führt, und da der nächst Befehl ist, gleich die Groupbox auf visible zu stellen, das die Textbox bis dahin noch nicht befüllt ist. Das ist aber jetzt eher geraten.

Irgendwo her muß ja der fehler kommen.

Nachtrag: Ich hab die Daten auf einen Datensatz reduziert. Also daran liegts auch nicht.

Moderiert von user profile iconTh69: Code- durch C#-Tags ersetzt
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4416
Erhaltene Danke: 901


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Fr 12.04.19 15:11 
Zitat:
@Ralf - Windows Installation konnte ich ausschließen.


Dann würde ich dir empfehlen AutoComplete mit einer Textbox nochmal in einem simpelst Beispiel auszuprobieren. Entsprechend den Codebeispielen aus der Dokumentation zum Beispiel. Wenn das funktioniert wissen wir das es an der Art wie du die TextBox verwendest liegt.

Dann solltest du nochmal erklären ob du irgendwas spezielles machst. Z.B. hatte TH69 schon mal gefragt ob dein Code zum Befüllen der AutoComplete-TextBox in einem eigenen Thread (und nicht im UI-Thread) läuft.
Glowhollow Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 61



BeitragVerfasst: Fr 12.04.19 15:55 
Ok, ist nicht leicht das ganze auseinanderzuklabüstern, aber....

Ich habe tatsächlich einen Backgroundworder, der tabellen, und unter anderem Filter setzt.

ich post das hier kurz.

in der Main Form
ausblenden C#-Quelltext
1:
2:
3:
BGWAppStart = new System.ComponentModel.BackgroundWorker() { WorkerReportsProgress = true, WorkerSupportsCancellation = true };
BGWAppStart.DoWork += BGWAppStart_DoWork;
BGWAppStart.RunWorkerCompleted += BGWAppStart_RunWorkerCompleted;


BGWAppStart wird nach der initialisierung der Form aufgerufen. über RunWorkerAsync();

DoWork definiert folgendes:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
private void BGWAppStart_DoWork(object sender, DoWorkEventArgs e)
{
  if (this.BGWAppStart.CancellationPending)
  {
    e.Cancel = true;
    return;
  }
  BGWAppStart.ReportProgress(0"Working...");
  GetFilter();
}


GetFilter macht folgendes:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
public void GetFilter()
{
  filterdest = mysqlcon.GetDestinations();
  filterzap = mysqlcon.GetAirports("");
  filterverpfl = mysqlcon.GetVerpfl();
  filtersterne = mysqlcon.GetSterne();
  filterzimmer = mysqlcon.GetUnits();
  filteraap = mysqlcon.GetDepaAirports("");
  GetHTCFilter("");
 }


und GetHTCFilter macht folgendes:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
private void GetHTCFilter(string filter)
{
  this.tbpishtcsuche.AutoCompleteCustomSource = new AutoCompleteStringCollection();
  this.lbpishtcall.Items.Clear();
  this.lbpishtcadded.Items.Clear();
  this.tbpishtcsuche.AutoCompleteCustomSource.Clear();

  foreach (DataRow dr in mysqlcon.GetHTC(filter).Rows)
    this.lbpishtcall.Items.Add(dr["htc"]);
  foreach (var item in this.lbpishtcall.Items)
    this.tbpishtcsuche.AutoCompleteCustomSource.Add(item.ToString());
}


und tbpishcsuche ist wiefolgt definiert (im designer):
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
this.tbpishtcsuche.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;
this.tbpishtcsuche.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource;
this.tbpishtcsuche.BeforeTouchSize = new System.Drawing.Size(10020);
this.tbpishtcsuche.Location = new System.Drawing.Point(1237);
this.tbpishtcsuche.Metrocolor = System.Drawing.Color.FromArgb(((int)(((byte)(209)))), ((int)(((byte)(211)))), ((int)(((byte)(212)))));
this.tbpishtcsuche.Name = "tbpishtcsuche";
this.tbpishtcsuche.Size = new System.Drawing.Size(55020);
this.tbpishtcsuche.TabIndex = 1020;


Also nichts schwarzmagisches, oder sonst irgendwas.

das autocomplete textfeld ist einer groupbox.
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
this.gbpishtcadd.Controls.Add(this.btnpishtcaddabbort);
this.gbpishtcadd.Controls.Add(this.btnpishtcaddokay);
...
this.gbpishtcadd.Controls.Add(this.tbpishtcsuche);
...


Es ist also nicht so, das ich ich AutoComplete irgenwie mit dem Backgroundworker zusammenstoßen könnte. Allerdings bin ich gerne bereit, leider kenn ich mich mit den Threads noch nicht so gut aus, den Backworker im UI thread laufen zu lassen. Wenn mir jemand zeit wie das gehen soll.

Danke für eure Hilfe

Moderiert von user profile iconTh69: Code- durch C#-Tags ersetzt
Chiyoko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 288
Erhaltene Danke: 5

Win 98, Win Xp, Win 10
C# (VS 2017)
BeitragVerfasst: Fr 12.04.19 16:16 
Wie Th69 schon vermutet hat, knallts bei einem Threadübergreifendem Vorgang.
Die Funktion GetFilter (bzw. die Aufrufe /Zuweisungen der Controls) muss in die Funktion, die ReportProgress (Event ProgressChanged) auslöst.

Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Glowhollow Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 61



BeitragVerfasst: Fr 12.04.19 16:40 
Ich steh gerade aufm Schlauch, ich sitzt da jetzt seit 2 tagen dran, mein kopf raucht, vor lauer Möglichkeiten.

Ich rufe ja in Backgroundworker_doWork ja auf, dort wird ein ReportProgress getriggert - right ?

ausblenden C#-Quelltext
1:
2:
3:
4:
private void BGWAppStart_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
  GetFilter();
}


ausblenden C#-Quelltext
1:
BGWAppStart.ProgressChanged += new ProgressChangedEventHandler(BGWAppStart_ProgressChanged);					

wurde hinzugefügt. Ich hab zwar jetzt keinen Crash mehr, AutoComplete läuft immer noch nicht. Zudem wird mein Splashcreen verzögert aufgebaut.

Habe das Textfeld nochmal neu erstellt, um autocomplete zu testen, jedoch ohne funktion.

Das ProgressChanged, was macht das genau ?

EDIT: Sobald ich diese Zeile in der textbox drin habe im designer
ausblenden C#-Quelltext
1:
this.textBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;					

crashts wieder....

Moderiert von user profile iconTh69: Code- durch C#-Tags ersetzt
Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4416
Erhaltene Danke: 901


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Fr 12.04.19 17:24 
Zitat:
Das ProgressChanged, was macht das genau ?

Aus einem Thread, wie in der BackgroundWorker startet (DoWork läuft in einem anderen Thread), darf man nicht direkt auf die UI zugreifen. Da man möglicherweise aus dem was da im Hintergrund läuft Feedback an jemanden geben will, z.b. weil man den Fortschritt (den Progress) der Hintergrundaufgabe irgendwie anzeigen will, gibt es den ProgressChanged Event. Den muss man im DoWork Code explizit aufrufen was du übrigens getan hast. Mit einem Progress von 0, du sagst also soviel wie es ist noch nichts erledigt.
Damit ProgressChanged etwas sinnvoll anzeigen kann ist es in den Hauptthread synchronisiert. Heißt der läuft im Haupthread und man darf daher darin auf die UI, wie z.b. deine TextBox, zugreifen.

Dein Code innerhalb von DoWork ist soweit richtig (vermutlich), du willst ja das der Zugriff auf deine Datenbank im Hintergrund passiert und deine UI nicht hängt, nur du darfst das Ergebnis von dem was da im Hintergrund läuft nicht im Hintergrund an die Textbox zuweisen. Letztlich wird es darauf hinauslaufen das du die Aufgaben die du in GetFilter erledigst aufteilen musst.

Das sammeln der Daten kann in DoWork bleiben, das zuweisen deiner Daten an deine TextBox darf aber erst später im Hauptthread erfolgen. Dabei könnte die ein Aufruf von ReportProgress in DoWork helfen. Wenn du das am Ende von DoWork machst. Da wäre es im RunWorkerCompleted Event aber sinnvoller. Denn das passiert explizit am Ende. Dein Splashscreen hängt übrigens weil du ja den gesamten Code in ProgressChanged ausführst also auch die potentiell lang laufende Datenbankabfrage. Da das im Hauptthread lauft kann der währenddessen die UI nicht aktualisieren.
Glowhollow Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 61



BeitragVerfasst: Di 16.04.19 13:37 
Hey Ralf,

ich hab mir das jetzt genau angesehen. ich versuche zum Schluss eine Groupbox auf visible zu setzen, diese Groupbox besteht aus mehreren Elementen, die über den backgroundworker befüllt wird.

Die letztendliche Befüllung findet im BackgroundWorker_RunWorkerCompleted statt.erst danach sollte die Groupbox auf visible gesetzt werden. Dennoch habe ich hier die Fehlermeldung "Schnittstelle nicht registriert".

Wie debugge ich das jetzt am besten ? Würde mir das jemand mit den Stacktrace genauer erklären ?

Vielen Dank

Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Chiyoko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 288
Erhaltene Danke: 5

Win 98, Win Xp, Win 10
C# (VS 2017)
BeitragVerfasst: Di 16.04.19 14:04 
Es gibt in Visual Studio einen Bereich der sich Aufrufhierarchie (Stacktrace) nennt. Das ist eine Abfolge von Adressen bzw. Funktionen, die als letztes aufgerufen wurden, wenn du etwas debuggst.
Der Stacktrace ist genau das selbe. Die Liste startet von dem Punkt, wo der Fehler auftrat und zeigt die letzten Zugriffe an.

Anhand der Adressen lässt sich der Fehler eingrenzen.

EDIT:
Zudem sieht es so aus, als wenn du durch die jetzige ProgressChanged Funktion eine unnötige Mehrfachzuweisung hast.
Deine TextBox darf auch nicht mehrzeilig sein (ich weiß nicht, welche Seiteneffekte das hätte).

Moderiert von user profile iconTh69: Beiträge zusammengefügt.
Moderiert von user profile iconTh69: C#-Tags hinzugefügt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 3977
Erhaltene Danke: 813

Win7
C++, C# (VS 2015/17)
BeitragVerfasst: Di 16.04.19 14:09 
Schau dann auch nach, in welchem Thread das ausgeführt wird (VS-Menu "Debug/Windows/Threads").
Ein gelber Pfeil in der Liste zeigt dir den aktuellen Thread an (sollte dann also der Main-Thread sein).
Glowhollow Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 61



BeitragVerfasst: Di 16.04.19 14:32 
ok, vielen dank, das mit den threads hilft mir schon mal weiter. Interessanterweise habe ich 6 threads offen, wobei eigentlich maximal 3 offen sein sollten.

Leider wird auch nicht angezeigt, welche thread das ist, gibts irgendwie ne möglichkeit, dem thread einen namen zu geben, damit ich in der threadliste, sehe, welcher thread, bzw. backgroundworker im moment aktiv ist ?

Das heißt doch letztendlich, das die backgroundworker, abgeschlossen sein müssen, das dieses schnittstellen problem behoben werden kann ? Right ?

[Edit:] Habe jetzt die Threads benannt. Kann auch einen Backgroundworker noch sehen (OnProgressChanged). Allerdings werden da noch andere Threads angezeigt, die wohl aber nix mit dem Backgroundworker an sich zu tun haben (sonst würde ich namen sehen).

[Edit2:]

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
Die Proxyregistrierung für die IID {EAC04BC0-3791-11D2-BB95-0060977B464C} wurde nicht gefunden.
   bei System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(Guid&amp; clsid, Object punkOuter, Int32 context, Guid&amp; iid)
   bei System.Windows.Forms.StringSource..ctor(String[] strings)
   bei System.Windows.Forms.TextBox.SetAutoComplete(Boolean reset)
   bei System.Windows.Forms.TextBox.OnHandleCreated(EventArgs e)
   bei System.Windows.Forms.Control.WmCreate(Message&amp; m)
   bei System.Windows.Forms.Control.WndProc(Message&amp; m)
   bei System.Windows.Forms.TextBoxBase.WndProc(Message&amp; m)
   bei System.Windows.Forms.TextBox.WndProc(Message&amp; m)
   bei System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message&amp; m)
   bei System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message&amp; m)
   bei System.Windows.Forms.NativeWindow.DebuggableCallback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)</ExceptionString><DataItems><Data><Key>RestrictedDescription</Key><Value>Die Proxyregistrierung für die IID {EAC04BC0-3791-11D2-BB95-0060977B464C} wurde nicht gefunden.</Value></Data><Data></Data><Data></Data><Data><Key>__RestrictedErrorObject</Key><Value>System.Exception+__RestrictedErrorObject</Value></Data><Data><Key>__HasRestrictedLanguageErrorObject</Key><Value>False</Value></Data></DataItems></Exception></TraceRecord>
Ein Ausnahmefehler des Typs "System.InvalidCastException" ist in System.Windows.Forms.dll aufgetreten.


Das heißt. das bei System.Windows.Forms.UnsafeNativeMethods.CoCreateInstance(), der fehler gedropt wird. Wie komme ich jetzt an diesen Punkt ? ist ja nicht so, das man da f12 drücken kann und der navigiert da hin ;).
Chiyoko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 288
Erhaltene Danke: 5

Win 98, Win Xp, Win 10
C# (VS 2017)
BeitragVerfasst: Di 16.04.19 16:40 
Mit Resharper oder der entsprechenden PDB Datei. Aber das ist gar nicht notwendig.

Als erstes solltest du mal den Backroundworker (und alle anderen Threads bis auf den Mainthread) zu debugzwecken weglassen.
Dann wird getestet, ob du normale Einträge ohne Datenbank hinzufügen kannst.
Ist das gelungen, kannst du ein Dataset anhängen und eine Datenbank auslesen.

Debugging ist die Suche der Nadel im Heuhaufen. Um die Nadel zu finden, musst du den Heuhaufen eben aufteilen oder auseinander nehmen.