Suchergebnisse

Suchergebnisse 1-6 von insgesamt 6.

  • Benutzer-Avatarbild

    Zitat von Tukuan: „Kann mir einer dazu sonst noch was sagen: Beim Umgang mit COM Objekten in .NET: ⇨ Geeignetes Threading Modell wählen. ⇨ Zwischen deterministischem und undeterministischem (GC) Löschen der Objekte wählen. ⇨ Nachrichten pumpen Was bedeutet das?“ Bisher ist noch niemand auf diese (sehr wichtige!) Frage eingegangen. Es gibt zwei hauptsächlich verwendete Threading-Modelle in COM. Das eine heißt "Apartment-Threaded", das andere "Free-Threaded" (das dritte heißt "Both"). Das Modell l…

  • Benutzer-Avatarbild

    Bevor ich irgendwelche Gedankenexperimente anstelle, was das Problem vielleicht sein könnte, suche ich das Problem. Das ist jetzt das wichtigste - die Lösung ergibt sich meistens von ganz alleine. Es ist bisher nicht bekannt, ob der Flaschenhals in der Komponente, bei deren Schnittstelle, bei der Ansteuerung oder im Benutzercode liegt. Wenn ein Algorithmus ineffizient ist, hilft auch kein neuer Rechner (selten so gelacht - sorry; Stichwort Laufzeitkomplexität). Visual Studio hat (nur in der Ulti…

  • Benutzer-Avatarbild

    Zitat von ErfinderDesRades: „Wer sagt eiglich, man könne in einem Prozess nur einen Sta-Thread (was immer das sein mag) haben?“ Niemand - nur landet der neue STA-Thread in einem neuen STA, denn ein STA kann immer nur einen Thread beherbergen. Aber ein Prozess kann mehrere STAs haben. Das ändert jedoch nichts daran, dass zwischen den Apartments trotzdem gemarshallt werden muss. Der Profiler ist bei VS 2010 erst ab Premium dabei (siehe download.microsoft.com/downloa…ure-Comparison-Matrix.pdf). Sch…

  • Benutzer-Avatarbild

    Zitat von thefiloe: „Bin deshalb nach langem hin und her dazu übergegangen die ganzen COM Aufrufe "manuell" zu machen, da ich da wenigstens weiß was ich mache.“Ist auch besser. Insbesondere bei Ereignissen produziert der RCW-Generator gerne mal Schrott. Welche Komponente kann man denn z.B. nicht verwenden? Mir ist noch keine untergekommen... Zitat von Tukuan: „Wenn ich es bisher noch nicht komplett falsch verstanden habe, ist das ein zugriff auf die imc Com Schnittstelle ImcCoreLib. Oder?“Ja. Mö…

  • Benutzer-Avatarbild

    Zitat von thefiloe: „Außerdem verstehe ich bis heute nicht was .NET eig. bei den ganzen COM Aufrufen macht.“Schreib dir mal eine kleine COM-Library in C++ (einfach Interface + Coklasse mit Class Factory). Verwende kein ATL/MFC. Deklariere das Interface in .NET per <ComImport()> und benutze die ClassFactory, um dein Objekt zu erstellen. Letzteres ist sehr interessant, weil du dort schön die QueryInterface-Aufrufe, die aus .NET kommen, in deinem C++-Projekt nachverfolgen kannst. (Unverwaltetes Deb…

  • Benutzer-Avatarbild

    Sehr interessantes Problem. Dass das nichts mit ByRef zutun hat, ist mir auch klar. Sorry dass ich nicht den kompletten Sourcecode meiner vergangenen Projekte im Kopf habe - ich erinnere mich nur dunkel, dass ich ein anderes Callback-Problem eben dadurch lösen konnte. Aber vielleicht habe ich mich ja auch "zu wenig" damit beschäftigt...