2009. március 7.

JavaScript & ActiveX & IE7/8

Összedobtam egy kis intranetes oldalt a cégnél, ami kiváltja a Novell ConsoleOne-t ZENworks távmenedzsment használatakor. Pontosabban Novelles ActiveX vezérlő segítségével lekérdezi eDirectoryból a workstation objektumokat, majd hozzátársítja MySQLes adatbázisból a neveket, és végül a felszedett adatok alapján a célt kiválasztva megfelelően felparaméterezve direkt el tudja indítani az RCConsole.exe-t. Így a böszme Javas C1 nélkül lehet kényelmesen távirányítani számítógépeket. (Amivel én duplán nyertem, mert a ConsoleOne nem működik Vistán, és a novell szerint nem is fog.)

Két csúnya szívatás volt a dologban: az NWIDirQ.dll objektum tulajdonságainak lekérdezésekor tömbben adja vissza az eredményt, aminek egyszerűen nem bírtam elérni az elemeit. Debugolni meg IE-ben nem nagyon van épkézláb lehetőség. Sok keresgélés után kiderült, hogy a Microsoft Visual Web Developer Express (szép neve van) az én barátom (~1,5 GB értékben). Hiba elcsípve: hiába JavaScriptből hegesztek, VisualBasic tömböt kapok vissza, amivel a JS nem tud mit kezdeni. Szerencsémre JScriptben van erre megoldás: a VBArray objektum, ami elkapja az eredményemet, és a toArray() metódusa átkonvertálja JavaScript tömbbé. Mindjárt más érzés.

Második felvonás: cégnél 64 bites Vistám van, amihez felraktam a 64 bites MySQL ODBC konnektort. Ami nem működik 32 bites IE-ben. A 32 bites Novell ActiveX vezérlő meg 64 bites IE-ben nem. A 32 bites MySQL konnektor pedig telepítés után látszólag nincs is. Vagy mégis: Vista 64-ben kettő odbcadm van, egy 64 bites közszemlén, és külön egy 32 bites eldugva. Ravasz.

Források: BernieCode, Postgres & EnterpriseDB Database News

Nincsenek megjegyzések: