C# - Dll assembly a přístup z podvklákna – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

C# - Dll assembly a přístup z podvklákna – .NET – Fórum – Programujte.comC# - Dll assembly a přístup z podvklákna – .NET – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
amertak
~ Anonymní uživatel
112 příspěvků
1. 11. 2009   #1
-
0
-

Dobrý den,

vytvořil jsem si class, kterou jsem si skompiloval dl dll. Tuto dll poté využívám v jiném projektu. Pokud využívám WebBrowser v dané dll z hlavního vlákna, tak je vše bez problému.

Pokud ale vytvořím delegáta či vlákno a snažím se přistoupit k dll, tak to hodí chybu.

Chyba

Nelze vytvořit instanci ovládacího prvku ActiveX 8856f961-340a-11d0-a96b-00c04fd705a2, protože aktuální podproces není součástí objektu Apartment pro jeden podproces.


Předem děkuji za odpovědi.

Zde je ten class, je to jen test
namespace class1

{

public class Class1
{
System.Windows.Forms.WebBrowser cc;

public string Load(string url)
{
cc = new System.Windows.Forms.WebBrowser();

cc.Navigate(url);

while (cc.ReadyState == WebBrowserReadyState.Loading || cc.ReadyState == WebBrowserReadyState.Uninitialized || cc.ReadyState == WebBrowserReadyState.Interactive)
{
Application.DoEvents();
}

return cc.DocumentText.ToString();
}

}
}

Nahlásit jako SPAM
IP: 80.251.245.–
Reklama
Reklama
Amertak
~ Anonymní uživatel
112 příspěvků
2. 11. 2009   #2
-
0
-

Takže problem jsem částečně vyřešil, je potřeba dát před Load(...) atribut [STAThread] a zároven při deklaraci Threadu vnutit ApartementState na STA. Pote to jede, ale horčí je, že nemohu najít nikde u delegata toto nastavení :(

Nahlásit jako SPAM
IP: 80.251.245.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 63 hostů

Podobná vlákna

Cacheování assembly — založil strainer

[C#] Assembly Entry Point — založil Smokie

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý