Windows CE OLE/COM objekt – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Windows CE OLE/COM objekt  – C / C++ – Fórum – Programujte.comWindows CE OLE/COM objekt – C / C++ – Fórum – Programujte.com

 

Pawl0
Newbie
24. 6. 2010   #1
-
0
-

Ahoj,

Ahoj mám panelový systém běžící pod Windows CE, kde je soft. PLC a vizualizace, výrobce pro komunikaci mezi vizualizací a PLC používá objekt "MicroInnovation.CoDeSys.TagServer.1", jakým způsobem lze získat seznam vygenerovat hlavičkový soubor, když je instalovaný pouze v zařízení. Zkoušel jsem jenom jednoduché připojení

HRESULT reshr;

CLSID clsid;

reshr = CoInitializeEx( NULL, COINIT_MULTITHREADED );
if ( FAILED( reshr ) )
{
AfxMessageBox(L"CoInitializeEx initialization failed");
return;
}


reshr = CLSIDFromProgID(L"MicroInnovation.CoDeSys.TagServer.1",&clsid);

if (FAILED( reshr ))
{
AfxMessageBox(L"Objekt nenalezen!");
return;
}

IDispatch *excelApp;

reshr = CoCreateInstance(clsid, 0, CLSCTX_LOCAL_SERVER, IID_IDispatch, reinterpret_cast<void **>(&excelApp));
if (FAILED( reshr ))
{
CString hlaska;
GetErrorFromHresult(reshr,hlaska);
hlaska.Insert(0,_T("Chyba v ::CoCreateInstance\n"));
AfxMessageBox(hlaska);
return;
}

Při CoCreateInstance se mě dostává hlášení :
reshr -2147467262 {E_NOINTERFACE} HRESULT
"Chyba v ::CoCreateInstance No such interface supported"

Ale hlavu si z toho nedělám hlásí mě i u ostatních COM objektů. :smile11: Tento kód jsem našel někde na netu. Ale ani tak by to neřešilo můj prvotní problém. Druhá varianta je kontaktovat výrobce, aby mě poskytl nějaký knihovny, ale nevím nějak v to nedoufám.

Nahlásit jako SPAM
IP: 85.207.218.–
liborb
~ Redaktor
+18
Guru
24. 6. 2010   #2
-
0
-

Potřebuješ seznam rozhraní, které taková komponenta implementuje. Určitě musí implementovat IUnkown, ale to ti k ničemu není. Maximálně to můžeš zkusit místo IDispatch. Informaci asi budeš muset hledat u výrobce. Pokud by šlo na WinCE spustit program OleView, tak by sis to mohl zjistit i z toho resp. z typové knihovny (přes ITypeLib), pokud ji implementují ....

Nahlásit jako SPAM
IP: 85.207.166.–
Quiark0
Věrný člen
25. 6. 2010   #3
-
0
-

Z typové knihovny se dá získat vše potřebné. Například pomocí konstrukce #import ve MSVC++. Píše se to do .cpp souboru například takto:



#import "blabla.ocx" raw_interfaces_only, raw_native_types, no_namespace, named_guids


a vygeneruje to vše potřebné.

Nahlásit jako SPAM
IP: 89.103.91.–
Pawl0
Newbie
27. 6. 2010   #4
-
0
-

To Quiark :
Jasný, ale jak to udělat když "blabla.ocx" je v zařízení běžící pod Windows CE ?, nevíte jestli existuje nějaká verze OleView pro CE hledal jsem na netu a nic jsem nenašel.

Nahlásit jako SPAM
IP: 81.200.57.–
Quiark0
Věrný člen
28. 6. 2010   #5
-
0
-

Nešlo by ho prostě překopírovat do PC? IMHO by to mělo jít pak normálně používat..

Nahlásit jako SPAM
IP: 90.178.173.–
Pawl0
Newbie
23. 9. 2010   #6
-
0
-

To Quiark :
(když se tak k tomu zase vracím)
No jo, ale když se pokusil OLE/COM Viwer pro Widows (x86) otevřít tento sooubor rak mě ho ani nenačetl, řekl, že je neplatný. Tak asi nepůjde ani registrovat natož z něj něco vycucat v klasickým windows X86

Nahlásit jako SPAM
IP: 78.80.184.–
Quiark0
Věrný člen
24. 9. 2010   #7
-
0
-

Hm, ono to bude asi zkompilované pro to mobilní zařízení. Typová knihovna je na PC .exe uložená jako resource a dá se vytáhnout pomocí Resource Hackeru, nešlo by něco podobného udělat i tady?

Nahlásit jako SPAM
IP: 90.178.173.–
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, 98 hostů

Moderátoři diskuze

 

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